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")
|
BG_PATH = path.join(ASSET_IMAGE_DIR, "background.png")
|
||||||
SQUID_PATH = path.join(ASSET_IMAGE_DIR, "squid.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_FOOD01_L = "food_01_L"
|
||||||
IMG_ID_FOOD02_L = "food_02_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)
|
hit = pygame.sprite.collide_rect(self.squid1, self.squid2)
|
||||||
if hit:
|
if hit:
|
||||||
if self.squid1.lv > self.squid2.lv:
|
if self.squid1.lv > self.squid2.lv:
|
||||||
self.squid1.collision_between_squids(COLLISION_SCORE["WIN"], 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.sound_controller)
|
self.squid2.collision_between_squids(COLLISION_SCORE["LOSE"], self.frame_count, self.sound_controller)
|
||||||
elif self.squid1.lv < self.squid2.lv:
|
elif self.squid1.lv < self.squid2.lv:
|
||||||
self.squid1.collision_between_squids(COLLISION_SCORE["LOSE"], 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.sound_controller)
|
self.squid2.collision_between_squids(COLLISION_SCORE["WIN"], self.frame_count, self.sound_controller)
|
||||||
else:
|
else:
|
||||||
# draw
|
# draw
|
||||||
self.squid1.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.sound_controller)
|
self.squid2.collision_between_squids(COLLISION_SCORE["DRAW"], self.frame_count, self.sound_controller)
|
||||||
|
|
||||||
def get_data_from_game_to_player(self):
|
def get_data_from_game_to_player(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -42,6 +42,7 @@ class Squid(pygame.sprite.Sprite):
|
||||||
self._vel = LEVEL_PROPERTIES[1]['vel']
|
self._vel = LEVEL_PROPERTIES[1]['vel']
|
||||||
self._lv = 1
|
self._lv = 1
|
||||||
self.angle = 0
|
self.angle = 0
|
||||||
|
self._last_collision = 0
|
||||||
|
|
||||||
def update(self, motion):
|
def update(self, motion):
|
||||||
# for motion in motions:
|
# for motion in motions:
|
||||||
|
@ -90,8 +91,11 @@ class Squid(pygame.sprite.Sprite):
|
||||||
self._vel = LEVEL_PROPERTIES[new_lv]['vel']
|
self._vel = LEVEL_PROPERTIES[new_lv]['vel']
|
||||||
self._lv = new_lv
|
self._lv = new_lv
|
||||||
|
|
||||||
def collision_between_squids(self, collision_score, sound_controller: SoundController):
|
def collision_between_squids(self, collision_score, frame, sound_controller: SoundController):
|
||||||
|
if frame - self._last_collision > 30:
|
||||||
self._score += collision_score
|
self._score += collision_score
|
||||||
|
self._last_collision = frame
|
||||||
|
sound_controller.play_collision()
|
||||||
|
|
||||||
new_lv = get_current_level(self._score)
|
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._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_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._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 :
|
except Exception as e :
|
||||||
self._is_sound_on = False
|
self._is_sound_on = False
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
@ -59,3 +60,7 @@ class SoundController():
|
||||||
@sound_enabled
|
@sound_enabled
|
||||||
def play_lv_down(self):
|
def play_lv_down(self):
|
||||||
self._lv_down.play()
|
self._lv_down.play()
|
||||||
|
|
||||||
|
@sound_enabled
|
||||||
|
def play_collision(self):
|
||||||
|
self._collision.play()
|
||||||
|
|
Loading…
Reference in New Issue