Exemple #1
0
    def update(self):
        GameObject.update(self)
        self.x += self.dx
        self.y += self.dy

        for game_object in game_objects:
            if type(game_object) == Wall:
                overlap = BoxCollider.overlap(self.box_collider,
                                              game_object.box_collider)
                if overlap:
                    pygame.mixer.Channel(6).play(
                        pygame.mixer.Sound("music/player/Boom.wav"))

                    self.deactivate()

        for game_object in game_objects:
            if type(game_object) == Enemy or type(game_object) == Enemy1:
                overlap = BoxCollider.overlap(self.box_collider,
                                              game_object.box_collider)
                if overlap:
                    pygame.mixer.Channel(6).play(
                        pygame.mixer.Sound("music/player/Boom.wav"))
                    game_object.hp += -self.dam
                    if game_object.hp <= 0:
                        gamelevel.append("*")
                        enemy_explosion = EnemyExplosion(
                            game_object.x, game_object.y, game_object.dx,
                            game_object.dy, game_object._type)
                        add(enemy_explosion)
                        game_object.deactivate()
                    self.deactivate()
Exemple #2
0
 def check_overlap(self):
     for game_object in game_objects:
         if type(game_object) == Wall:
             overlap = BoxCollider.overlap(self.box_collider,
                                           game_object.box_collider)
             if overlap:
                 self.overlap = True
Exemple #3
0
 def check_overlap_with_enemy(self):
     for game_object in game_objects:
         if type(game_object) == Enemy or type(game_object) == Enemy1:
             overlap = BoxCollider.overlap(self.box_collider,
                                           game_object.box_collider)
             if overlap:
                 self.lose()
     for game_object in game_objects:
         if type(game_object) == BulletEnemy or type(
                 game_object) == BulletTank:
             overlap = BoxCollider.overlap(self.box_collider,
                                           game_object.box_collider)
             if overlap:
                 self.hp += -game_object.dam
                 game_object.deactivate()
                 if self.hp <= 0:
                     self.lose()
Exemple #4
0
 def update(self):
     GameObject.update(self)
     if not self.overlap:
         for game_object in game_objects:
             if type(game_object) == Player:
                 self.overlap = BoxCollider.overlap(
                     self.box_collider, game_object.box_collider)
                 if self.overlap:
                     self.deactivate()
                     pygame.mixer.Channel(0).play(
                         pygame.mixer.Sound(
                             "music/player/player_get_coin.wav"))
                     game_object.count_coin += 1
Exemple #5
0
 def update(self):
     GameObject.update(self)
     if not self.overlap:
         for game_object in game_objects:
             if type(game_object) == Player:
                 overlap = BoxCollider.overlap(self.box_collider, game_object.box_collider)
                 if overlap and game_object.count_coin == 7:
                     self.overlap = True
                     game_object.can_shoot = True
         if self.overlap:
             image_urls = ["assets/images/sprite/gift/gift_close.png", "assets/images/sprite/gift/gift_opening.png", "assets/images/sprite/gift/gift_open.png"]
             self.renderer = Animation(image_urls,False)
             self.renderer = ImageRenderer("assets/images/sprite/gift/gift_open.png")
             enemy_tower = EnemyTower(10*16+8, 15*16)
             add(enemy_tower)
Exemple #6
0
    def update(self):
        GameObject.update(self)
        self.renderer.update(self.dx, self.dy, self.die)

        self.box_collider.y = self.y + self.dy

        for game_object in game_objects:
            if type(game_object) == Wall:
                overlap = BoxCollider.overlap(self.box_collider,
                                              game_object.box_collider)
                if overlap:
                    self.overlap = True
        if self.overlap:
            self.dy = -self.dy

        self.y += self.dy
        self.overlap = False
        self.box_collider.y = self.y
from physics.box_collider import BoxCollider

b1 = BoxCollider(10, 10)
b2 = BoxCollider(12, 48)
b1.y = 100

print(b1.overlap(b2))https://www.dropbox.com/s/y707tmuixan3xmr/C4T%20-%20Online%20-%20Collision%20-%202018-06-20-4.pptx?dl=0