collision sound
This commit is contained in:
parent
97c4145d65
commit
5805e1e2a4
|
@ -55,7 +55,7 @@ MUSIC_PATH = path.join(path.dirname(__file__), "..", "asset", "music")
|
|||
|
||||
BG_PATH = path.join(ASSET_IMAGE_DIR, "background.png")
|
||||
SQUID_PATH = path.join(ASSET_IMAGE_DIR, "squid.png")
|
||||
SQUID2_PATH = path.join(ASSET_IMAGE_DIR, "squid2.png")
|
||||
SQUID2_PATH = path.join(ASSET_IMAGE_DIR, "squid2_02.png")
|
||||
|
||||
IMG_ID_FOOD01_L = "food_01_L"
|
||||
IMG_ID_FOOD02_L = "food_02_L"
|
||||
|
|
12
src/game.py
12
src/game.py
|
@ -156,15 +156,15 @@ class SwimmingSquid(PaiaGame):
|
|||
hit = pygame.sprite.collide_rect(self.squid1, self.squid2)
|
||||
if hit:
|
||||
if self.squid1.lv > self.squid2.lv:
|
||||
self.squid1.collision_between_squids(COLLISION_SCORE["WIN"], self.sound_controller)
|
||||
self.squid2.collision_between_squids(COLLISION_SCORE["LOSE"], self.sound_controller)
|
||||
self.squid1.collision_between_squids(COLLISION_SCORE["WIN"], self.frame_count, self.sound_controller)
|
||||
self.squid2.collision_between_squids(COLLISION_SCORE["LOSE"], self.frame_count, self.sound_controller)
|
||||
elif self.squid1.lv < self.squid2.lv:
|
||||
self.squid1.collision_between_squids(COLLISION_SCORE["LOSE"], self.sound_controller)
|
||||
self.squid2.collision_between_squids(COLLISION_SCORE["WIN"], self.sound_controller)
|
||||
self.squid1.collision_between_squids(COLLISION_SCORE["LOSE"], self.frame_count, self.sound_controller)
|
||||
self.squid2.collision_between_squids(COLLISION_SCORE["WIN"], self.frame_count, self.sound_controller)
|
||||
else:
|
||||
# draw
|
||||
self.squid1.collision_between_squids(COLLISION_SCORE["DRAW"], self.sound_controller)
|
||||
self.squid2.collision_between_squids(COLLISION_SCORE["DRAW"], self.sound_controller)
|
||||
self.squid1.collision_between_squids(COLLISION_SCORE["DRAW"], self.frame_count, self.sound_controller)
|
||||
self.squid2.collision_between_squids(COLLISION_SCORE["DRAW"], self.frame_count, self.sound_controller)
|
||||
|
||||
def get_data_from_game_to_player(self):
|
||||
"""
|
||||
|
|
|
@ -42,6 +42,7 @@ class Squid(pygame.sprite.Sprite):
|
|||
self._vel = LEVEL_PROPERTIES[1]['vel']
|
||||
self._lv = 1
|
||||
self.angle = 0
|
||||
self._last_collision = 0
|
||||
|
||||
def update(self, motion):
|
||||
# for motion in motions:
|
||||
|
@ -90,8 +91,11 @@ class Squid(pygame.sprite.Sprite):
|
|||
self._vel = LEVEL_PROPERTIES[new_lv]['vel']
|
||||
self._lv = new_lv
|
||||
|
||||
def collision_between_squids(self, collision_score, sound_controller: SoundController):
|
||||
self._score += collision_score
|
||||
def collision_between_squids(self, collision_score, frame, sound_controller: SoundController):
|
||||
if frame - self._last_collision > 30:
|
||||
self._score += collision_score
|
||||
self._last_collision = frame
|
||||
sound_controller.play_collision()
|
||||
|
||||
new_lv = get_current_level(self._score)
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ class SoundController():
|
|||
self._fail = pygame.mixer.Sound(path.join(SOUND_PATH, "fail.mp3"))
|
||||
self._lv_up = pygame.mixer.Sound(path.join(SOUND_PATH, "lv_up.mp3"))
|
||||
self._lv_down = pygame.mixer.Sound(path.join(SOUND_PATH, "lv_down.mp3"))
|
||||
self._collision = pygame.mixer.Sound(path.join(SOUND_PATH, "collision.mp3"))
|
||||
except Exception as e :
|
||||
self._is_sound_on = False
|
||||
traceback.print_exc()
|
||||
|
@ -59,3 +60,7 @@ class SoundController():
|
|||
@sound_enabled
|
||||
def play_lv_down(self):
|
||||
self._lv_down.play()
|
||||
|
||||
@sound_enabled
|
||||
def play_collision(self):
|
||||
self._collision.play()
|
||||
|
|
Loading…
Reference in New Issue