Esempio n. 1
0
 def __init__(self, minDist=5.0, moveAngle=20.0):
     self.movingTarget = hidden.attachNewNode('petWanderTarget')
     PetChase.__init__(self, self.movingTarget, minDist, moveAngle)
     self.targetMoveCountdown = 0
     self.collEvent = None
     self.gotCollision = False
     return
Esempio n. 2
0
 def __init__(self, minDist = 5.0, moveAngle = 20.0):
     self.movingTarget = hidden.attachNewNode('petWanderTarget')
     PetChase.__init__(self, self.movingTarget, minDist, moveAngle)
     self.targetMoveCountdown = 0
     self.collEvent = None
     self.gotCollision = False
     return
Esempio n. 3
0
 def _process(self, dt):
     self.targetMoveCountdown -= dt
     if self.targetMoveCountdown <= 0.0:
         distance = normalDistrib(3.0, 30.0)
         heading = normalDistrib(-(90 + 45), 90 + 45)
         if self.gotCollision:
             self.gotCollision = False
             heading = heading + 180
         target = self.getTarget()
         target.setPos(self.getNodePath().getPos())
         target.setH(target, heading)
         target.setY(target, distance)
         duration = distance / self.mover.getFwdSpeed()
         self.targetMoveCountdown = duration * randFloat(1.2, 3.0)
     PetChase.process(self, dt)
Esempio n. 4
0
 def _process(self, dt):
     self.targetMoveCountdown -= dt
     if self.targetMoveCountdown <= 0.0:
         distance = normalDistrib(3.0, 30.0)
         heading = normalDistrib(-(90 + 45), 90 + 45)
         if self.gotCollision:
             self.gotCollision = False
             heading = heading + 180
         target = self.getTarget()
         target.setPos(self.getNodePath().getPos())
         target.setH(target, heading)
         target.setY(target, distance)
         duration = distance / self.mover.getFwdSpeed()
         self.targetMoveCountdown = duration * randFloat(1.2, 3.0)
     PetChase.process(self, dt)
Esempio n. 5
0
 def _clearMover(self, mover):
     PetChase.clearMover(self, mover)
     self.__ignoreCollisions()
Esempio n. 6
0
 def _setMover(self, mover):
     PetChase.setMover(self, mover)
     self.mover = mover
     self.__ignoreCollisions()
     self.collEvent = mover.getCollisionEventName()
     self.accept(self.collEvent, self._handleCollision)
Esempio n. 7
0
 def _clearMover(self, mover):
     PetChase.clearMover(self, mover)
     self.__ignoreCollisions()
Esempio n. 8
0
 def _setMover(self, mover):
     PetChase.setMover(self, mover)
     self.mover = mover
     self.__ignoreCollisions()
     self.collEvent = mover.getCollisionEventName()
     self.accept(self.collEvent, self._handleCollision)