예제 #1
0
 def set(cls, x, y, vel=0, angle=0, gravity=0):
     if cls.all_p_stack.is_empty() != True:
         p = cls.all_p_stack.pop()
         Concrete_shot.add_to_class_lst(p, Megaman_object.hazards, p.ID)
         p.grounded = False
         p.is_shattered = False
         Projectile.set(p, x, y, vel, angle=angle, gravity=gravity)
예제 #2
0
    def check_pshooter_contact(self):
        collision = False
        pshooter_collisions = self.check_collision_lst(P_shooter.all_p_lst,
                                                       universal_var.hitbox,
                                                       universal_var.hitbox,
                                                       quota=1)

        if pshooter_collisions.is_empty() != True and self.is_alive():
            collision = True
            p = pshooter_collisions.pop()
            if p.reflected == False:
                if p.x < self.x:
                    Projectile.set(p, p.x, p.y, vel=90, angle=130)
                else:
                    Projectile.set(p, p.x, p.y, vel=90, angle=70)
                p.reflected = True
                play_sound('p_reflected',
                           universal_var.megaman_sounds,
                           channel=1,
                           volume=universal_var.sfx_volume + 0.1)