コード例 #1
0
 def setupHpMeter(self):
     if self.hpMeter:
         return
     zAdj = 50
     self.smokeZAdj = zAdj
     self.fortPart = self.fortNode.find('**/top_interior_wall_collision')
     if self.fortPart.isEmpty():
         self.fortPart = self.fortNode.find('**/col_TopFloor1')
     if self.fortPart.isEmpty():
         self.fortPart = self.fortNode.find('**/pPlane4')
         zAdj = 150
         self.smokeZAdj = 100
     if self.fortPart.isEmpty():
         self.fortPart = self.fortNode.find('**/*tower*')
     if self.fortPart.isEmpty():
         self.fortPart = self.fortNode.find('**/*buttress*')
     if self.fortPart.isEmpty():
         self.fortPart = self.fortNode.find('**/*floor*')
     fortPartBounds = self.fortPart.getBounds()
     self.hpAnchor = NodePath('hpAnchor')
     self.hpAnchor.setPos(fortPartBounds.getApproxCenter())
     self.hpAnchor.setZ(self.hpAnchor.getZ() + zAdj)
     self.hpAnchor.reparentTo(self.fortNode)
     self.hpMeter = HpMeter.HpMeter(fadeOut=0,
                                    parent=self.hpAnchor,
                                    originAtMidPt=True)
     self.hpMeter.setScale(200)
     self.hpMeter.setBin('fixed', 130)
     self.hpMeter.setDepthWrite(False)
     myEffect = BillboardEffect.make(Vec3(0, 0, 1), True, False, 150,
                                     NodePath(), Point3(0, 0, 0))
     self.hpMeter.node().setEffect(myEffect)
     self.hpMeter.update(self.hp, self.maxHp)
     self.hideFortHpMeter()
コード例 #2
0
 def createHpMeter(self):
     self.hpMeter = HpMeter.HpMeter(name='', height=0.035, width=0.45, parent=base.a2dBottomRight)
     self.hpMeter.setPos(-0.5, 0, 0.65)
     self.hpMeter.update(1, 1)
     self.hpMeter.hide()
     self.accept('enteringMinigame', self.hpMeter.hide)
     self.accept('exitingMinigame', self.hpMeter.show)