def move(self, xdir, ydir): self.on_move(xdir, ydir) self.xdir = xdir self.ydir = ydir self.last_xdir = xdir self.last_ydir = ydir if xdir < 0: self._real_move(xdir, 0) for obj in self.unwalkable_group: if collisions.check(self, obj): obj.check_collide_right(self) elif xdir > 0: self._real_move(xdir, 0) for obj in self.unwalkable_group: if collisions.check(self, obj): obj.check_collide_left(self) elif ydir < 0: self._real_move(0, ydir) for obj in self.unwalkable_group: if collisions.check(self, obj): obj.check_collide_bottom(self) elif ydir > 0: self._real_move(0, ydir) for obj in self.unwalkable_group: if collisions.check(self, obj): obj.check_collide_top(self) self.next_image()
def check_gravity(self): if self.jump_speed < self.max_gravity_speed: self.jump_speed += self.gravity if self.jump_speed >= 4.5: self.jumping = True self.on_falling() self._gravity_move() for obj in self.unwalkable_group: if collisions.check(self, obj): obj.check_collide_top(self)
def check_collisions(self): for coin in self.gcoins: if collisions.check(self.player, coin): coin.kill() self.res.sound.play('coin')
def is_on_screen(self, sprite): """This is used mainly to draw just when sprite is on screen""" return collisions.check(self, sprite)