本文整理汇总了Python中direct.gui.DirectGui.DirectWaitBar.setBin方法的典型用法代码示例。如果您正苦于以下问题:Python DirectWaitBar.setBin方法的具体用法?Python DirectWaitBar.setBin怎么用?Python DirectWaitBar.setBin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类direct.gui.DirectGui.DirectWaitBar
的用法示例。
在下文中一共展示了DirectWaitBar.setBin方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DistributedMazeGame
# 需要导入模块: from direct.gui.DirectGui import DirectWaitBar [as 别名]
# 或者: from direct.gui.DirectGui.DirectWaitBar import setBin [as 别名]
#.........这里部分代码省略.........
camera.setPos(self.camOffset)
self.__spawnCameraTask()
self.toonRNGs = []
for i in xrange(self.numPlayers):
self.toonRNGs.append(RandomNumGen.RandomNumGen(self.randomNumGen))
self.treasures = []
for i in xrange(self.maze.numTreasures):
self.treasures.append(MazeTreasure.MazeTreasure(self.treasureModel, self.maze.treasurePosList[i], i, self.doId))
self.__loadSuits()
for suit in self.suits:
suit.onstage()
self.sndTable = {'hitBySuit': [None] * self.numPlayers,
'falling': [None] * self.numPlayers}
for i in xrange(self.numPlayers):
self.sndTable['hitBySuit'][i] = base.loadSfx('phase_4/audio/sfx/MG_Tag_C.ogg')
self.sndTable['falling'][i] = base.loadSfx('phase_4/audio/sfx/MG_cannon_whizz.ogg')
self.grabSounds = []
for i in xrange(5):
self.grabSounds.append(base.loadSfx('phase_4/audio/sfx/MG_maze_pickup.ogg'))
self.grabSoundIndex = 0
for avId in self.avIdList:
self.toonHitTracks[avId] = Wait(0.1)
self.scores = [0] * self.numPlayers
self.goalBar = DirectWaitBar(parent=render2d, relief=DGG.SUNKEN, frameSize=(-0.35,
0.35,
-0.15,
0.15), borderWidth=(0.02, 0.02), scale=0.42, pos=(0.84, 0, 0.5 - 0.28 * self.numPlayers + 0.05), barColor=(0, 0.7, 0, 1))
self.goalBar.setBin('unsorted', 0)
self.goalBar.hide()
self.introTrack = self.getIntroTrack()
self.introTrack.start()
return
def offstage(self):
self.notify.debug('offstage')
if self.introTrack.isPlaying():
self.introTrack.finish()
del self.introTrack
for avId in self.toonHitTracks.keys():
track = self.toonHitTracks[avId]
if track.isPlaying():
track.finish()
self.__killCameraTask()
camera.wrtReparentTo(render)
self.camParent.removeNode()
del self.camParent
for panel in self.scorePanels:
panel.cleanup()
self.scorePanels = []
self.goalBar.destroy()
del self.goalBar
base.setCellsAvailable(base.rightCells, 1)
for suit in self.suits:
suit.offstage()
self.__unloadSuits()
for treasure in self.treasures:
treasure.destroy()
示例2: PartyCogActivityGui
# 需要导入模块: from direct.gui.DirectGui import DirectWaitBar [as 别名]
# 或者: from direct.gui.DirectGui.DirectWaitBar import setBin [as 别名]
class PartyCogActivityGui(DirectObject):
notify = directNotify.newCategory('PartyCogActivityGui')
def __init__(self):
DirectObject.__init__(self)
self._piePowerMeter = None
self._victoryBalanceBar = None
self._scoreLabel = None
self._cogTracker = None
self._piePowerTitle = None
self._victoryBalanceTitle = None
self._scoreTitle = None
self._spamWarning = None
self._spamWarningIvalName = 'PartyCogActivityGui-SpamWarning'
def load(self):
self._initPiePowerMeter()
self._initScore()
self._initCogTracker()
self._initSpamWarning()
self._initControlGui()
self._initVictoryBalanceBar()
def unload(self):
if self._cogTracker is not None:
self._cogTracker.destory()
self._cogTracker = None
if self._piePowerMeter is not None:
self._piePowerMeter.destroy()
self._piePowerMeter = None
if self._piePowerTitle is not None:
self._piePowerTitle.destroy()
self._piePowerTitle = None
if self._scoreLabel is not None:
self._scoreLabel.destroy()
self._scoreLabel = None
if self._scoreTitle is not None:
self._scoreTitle.destroy()
self._scoreTitle = None
taskMgr.remove(self._spamWarningIvalName)
if self._spamWarning:
self._spamWarning.destroy()
self._spamWarning = None
if hasattr(self, '_attackKeys'):
self._attackKeys.detachNode()
del self._attackKeys
if hasattr(self, '_moveKeys'):
self._moveKeys.detachNode()
del self._moveKeys
if self._victoryBalanceBar:
self._victoryBalanceBar.detachNode()
self._victoryBalanceBar = None
if self._victoryBalanceBarOrange:
self._victoryBalanceBarOrange.detachNode()
self._victoryBalanceBarOrange = None
if self._victoryBalanceBarPie:
self._victoryBalanceBarPie.detachNode()
self._victoryBalanceBarPie = None
if self._victoryBalanceBarArrow:
self._victoryBalanceBarArrow.detachNode()
self._victoryBalanceBarArrow = None
def _initVictoryBalanceBar(self):
h = PartyGlobals.CogActivityPowerMeterHeight / 2.0
w = PartyGlobals.CogActivityPowerMeterWidth / 2.0
victoryBalanceBar = loader.loadModel('phase_13/models/parties/tt_m_gui_pty_pieToss_balanceBar')
self._victoryBalanceBar = victoryBalanceBar.find('**/*tt_t_gui_pty_pieToss_balanceBarBG')
self._victoryBalanceBar.reparentTo(aspect2d)
self._victoryBalanceBar.setBin('fixed', 0)
self._victoryBalanceBar.setPos(PartyGlobals.CogActivityVictoryBarPos)
self._victoryBalanceBar.setScale(1)
self._victoryBalanceBarOrange = victoryBalanceBar.find('**/*tt_t_gui_pty_pieToss_balanceBarOrange')
self._victoryBalanceBarOrange.reparentTo(self._victoryBalanceBar)
self._victoryBalanceBarOrange.setBin('fixed', 1)
self._victoryBalanceBarOrange.setPos(PartyGlobals.CogActivityVictoryBarOrangePos)
self._victoryBalanceBarOrange.setScale(PartyGlobals.CogActivityBarStartScale, 1.0, 1.0)
self._victoryBalanceBarPie = victoryBalanceBar.find('**/*tt_t_gui_pty_pieToss_balanceBarPie')
self._victoryBalanceBarPie.reparentTo(self._victoryBalanceBar)
self._victoryBalanceBarPie.setBin('fixed', 2)
self._victoryBalanceBarPie.setX(PartyGlobals.CogActivityVictoryBarPiePos[0])
self._victoryBalanceBarPie.setY(PartyGlobals.CogActivityVictoryBarPiePos[1])
self._victoryBalanceBarPie.setZ(PartyGlobals.CogActivityVictoryBarPiePos[2])
self._victoryBalanceBarPie.setScale(PartyGlobals.CogActivityBarPieScale)
self._victoryBalanceBarArrow = victoryBalanceBar.find('**/*tt_t_gui_pty_pieToss_balanceArrow')
self._victoryBalanceBarArrow.reparentTo(self._victoryBalanceBarPie)
self._victoryBalanceBarArrow.setBin('fixed', 2)
self._victoryBalanceBarArrow.setPos(PartyGlobals.CogActivityVictoryBarArrow)
self._victoryBalanceBarArrow.setScale(1 / PartyGlobals.CogActivityBarPieScale)
def _initControlGui(self):
self._attackIvalName = 'PartyCogActivityGui-attackKeys'
self._moveIvalName = 'PartyCogActivityGui-moveKeys'
pieTossControls = loader.loadModel('phase_13/models/parties/tt_m_gui_pty_pieToss_controls')
self._attackKeys = pieTossControls.find('**/*control*')
self._moveKeys = pieTossControls.find('**/*arrow*')
self._moveKeys.reparentTo(aspect2d)
self._moveKeys.setPos(1.0, 0.0, -0.435)
self._moveKeys.setScale(0.15)
self._attackKeys.reparentTo(aspect2d)
self._attackKeys.setPos(0.85, 0.0, -0.45)
#.........这里部分代码省略.........
示例3: Enemy
# 需要导入模块: from direct.gui.DirectGui import DirectWaitBar [as 别名]
# 或者: from direct.gui.DirectGui.DirectWaitBar import setBin [as 别名]
class Enemy(DirectObject):
def __init__(self, _main):
self.main = _main
self.strenght = self.main.enemyStrength
self.id = id(self)
self.model = loader.loadModel("Enemy")
self.model.setP(-90)
self.model.setH(180)
self.model.hide()
cs = CollisionSphere(0, 0, 0, 0.5)
cnode = CollisionNode('colEnemy' + str(self.id))
cnode.addSolid(cs)
self.colNP = self.model.attachNewNode(cnode)
#self.colNP.show()
# Game state
self.health = 100 + (100 * self.strenght)
self.damageDone = 0.1 + (0.1 * self.strenght)
self.lastShot = 0.0
self.attackRate = 10.0
self.statusHealth = DirectWaitBar(
text = "",
value = self.health,
range = self.health,
frameSize = (0.12, 0.8, -0.12, 0.0),
pos = (-0.5, 0, -0.5),
barColor = (1, 0, 0, 1))
self.statusHealth.reparentTo(self.model)
self.statusHealth.setDepthWrite(False)
self.statusHealth.setBin('fixed', 0)
self.statusHealth.setBillboardAxis()
def start(self, startPos, enemyParent):
self.model.show()
self.model.reparentTo(enemyParent)
self.model.setPos(startPos.x,
startPos.y,
0)
self.accept("into-" + "colEnemy" + str(self.id), self.hit)
self.accept("inRange-" + "colEnemy" + str(self.id), self.startAttack)
self.statusHealth.update(self.health)
def stop(self):
self.model.remove_node()
self.ignore("into-" + "colEnemy" + str(self.id))
self.ignore("inRange-" + "colEnemy" + str(self.id))
def hit(self, _dmg):
if self.health == 0:
base.messenger.send("killEnemy", [self.id])
else:
self.health -= _dmg
self.statusHealth.update(self.health)
def makeAi(self):
# Make some ai character for each
self.aiChar = AICharacter("Enemy" + str(self.id), self.model, -100, 0.05 + (0.05 * self.strenght), 6 + (1 * self.strenght))
self.main.AiWorld.addAiChar(self.aiChar)
self.AIbehaviors = self.aiChar.getAiBehaviors()
self.AIbehaviors.pursue(self.main.player.model)
return self.aiChar
def startAttack(self, _inRange=False):
if _inRange:
self.isAttacking = True
self.simpleAttack()
#taskMgr.remove("StartAttack")
#elif _inRange:
# pass
# taskMgr.add(self.attack, "StartAttack")
def attack(self, task):
dt = globalClock.getDt()
self.lastShot += dt
if self.lastShot >= self.attackRate:
self.lastShot -= self.attackRate
base.messenger.send("doDamageToPlayer", [self.damageDone])
return task.again
def simpleAttack(self):
base.messenger.send("doDamageToPlayer", [self.damageDone])