def act(self, level): SPEED = 1 oldPos = self.pos if(self.facing == FACE_LEFT): self.pos = VectorMath.add(self.pos, (-SPEED, 0)) else: self.pos = VectorMath.add(self.pos, (SPEED, 0)) if(self.isInAir(level)): self.pos = oldPos self.flipFacing() self.pos = VectorMath.add(self.pos, self.velocity) if(self.hurtTimer > 0): self.hurtTimer -= 1
def attack(self): if(self.shotCoolDown == 0): distance = self.distanceToPoint(self.game.player.getMidPos()) shotInitPos = VectorMath.add(self.pos, (6,3)) self.game.simpleSprites.append(self.generateProjectile(shotInitPos)) self.shotCoolDown = SHOTCOOLDOWN Globals.SOUNDPLAYER.playSound("shoot.wav") if(self.shotCoolDown >= 1): self.shotCoolDown -=1
def update(self): if not self.lastHurtBox is None: if self.lastHurtBox.numberOfHurtFrames > 0: self.toBeRemoved = True return self.tick() self.pos = VectorMath.add(self.pos, self.velocity) box = pygame.Rect(self.pos, self.frameSize) hurtBox = HurtBox.HurtBox(box, 2, 1) self.game.hurtBoxHandler.addHurtBox(hurtBox, self.alignment) self.lastHurtBox = hurtBox