forked from ayte/PinmikPanik
Added new sfx
This commit is contained in:
parent
fbe647ad78
commit
b81d98fed7
@ -83,5 +83,4 @@ class GameLoop():
|
|||||||
game.screenoffy = (game.screenh-h)/2
|
game.screenoffy = (game.screenh-h)/2
|
||||||
game.resizescreenw = w
|
game.resizescreenw = w
|
||||||
game.resizescreenh = h
|
game.resizescreenh = h
|
||||||
game.pygame.draw.circle(game.realwindow,[255,255,0],game.inputs["mouse"]["pos"],5)
|
|
||||||
game.screen.blit(game.pygame.transform.scale(game.realwindow,[w,h]),[game.screenoffx,game.screenoffy])
|
game.screen.blit(game.pygame.transform.scale(game.realwindow,[w,h]),[game.screenoffx,game.screenoffy])
|
||||||
|
@ -16,6 +16,11 @@ class GameOver(BaseObject):
|
|||||||
btn.click = fnBack
|
btn.click = fnBack
|
||||||
game.gameloop.summon(btn)
|
game.gameloop.summon(btn)
|
||||||
|
|
||||||
|
self.sfxscroll = game.sound_lib["sfx/scorescroll.wav"]
|
||||||
|
self.sfxscore = game.sound_lib["sfx/score.wav"]
|
||||||
|
|
||||||
|
self.sfxtimer = game.lib.Timer(1)
|
||||||
|
|
||||||
self.depth = -1
|
self.depth = -1
|
||||||
|
|
||||||
# Updating highscore
|
# Updating highscore
|
||||||
@ -57,7 +62,8 @@ class GameOver(BaseObject):
|
|||||||
|
|
||||||
def step(self):
|
def step(self):
|
||||||
|
|
||||||
self.displayscore+=(self.game.globals["score"]-self.displayscore)*self.game.dt*0.4+self.game.dt*2
|
update_value = (self.game.globals["score"]-self.displayscore)*self.game.dt*0.4+self.game.dt*2
|
||||||
|
self.displayscore+= update_value
|
||||||
self.displayscore = min(self.game.globals["score"],self.displayscore)
|
self.displayscore = min(self.game.globals["score"],self.displayscore)
|
||||||
|
|
||||||
colorvalue = self.displayscore*0.9
|
colorvalue = self.displayscore*0.9
|
||||||
@ -69,7 +75,14 @@ class GameOver(BaseObject):
|
|||||||
else: # White to green
|
else: # White to green
|
||||||
self.color = [255-colorvalue,255,255-colorvalue]
|
self.color = [255-colorvalue,255,255-colorvalue]
|
||||||
|
|
||||||
|
|
||||||
|
# Scroll sfx
|
||||||
|
if int(self.displayscore)!=int(self.game.globals["score"]):
|
||||||
|
if self.sfxtimer.tick(min(update_value,0.5)):
|
||||||
|
self.sfxscroll.play()
|
||||||
|
|
||||||
if not self.launched and int(self.displayscore)==int(self.game.globals["score"]):
|
if not self.launched and int(self.displayscore)==int(self.game.globals["score"]):
|
||||||
|
|
||||||
if self.launchtimer.tick(self.game.dt):
|
if self.launchtimer.tick(self.game.dt):
|
||||||
# Launch particles
|
# Launch particles
|
||||||
self.launched = True
|
self.launched = True
|
||||||
@ -96,6 +109,8 @@ class GameOver(BaseObject):
|
|||||||
vely = random.random()*5+2
|
vely = random.random()*5+2
|
||||||
self.game.addParticle(sprites,offx,offy,velx=velx,vely=vely,flipx=random.randint(0,1),fps=2)
|
self.game.addParticle(sprites,offx,offy,velx=velx,vely=vely,flipx=random.randint(0,1),fps=2)
|
||||||
|
|
||||||
|
self.sfxscore.play()
|
||||||
|
|
||||||
if self.launched:
|
if self.launched:
|
||||||
self.flashtimer.tick(self.game.dt)
|
self.flashtimer.tick(self.game.dt)
|
||||||
|
|
||||||
|
@ -16,6 +16,10 @@ class Lemming(BaseObject):
|
|||||||
self.cooldown = False
|
self.cooldown = False
|
||||||
self.cooldowntimer = game.lib.Timer(0.5)
|
self.cooldowntimer = game.lib.Timer(0.5)
|
||||||
|
|
||||||
|
self.sfx = game.getSpriteDir("sfx/pinmik/",ext=".wav",assetdir="sound_lib")
|
||||||
|
self.sfxtimer = game.lib.Timer(15+random.random()*10)
|
||||||
|
self.deathsfx = random.choice(game.getSpriteDir("sfx/death/",ext=".wav",assetdir="sound_lib"))
|
||||||
|
|
||||||
self.handlepause = True
|
self.handlepause = True
|
||||||
|
|
||||||
self.scoreratio = 0.3
|
self.scoreratio = 0.3
|
||||||
@ -149,6 +153,14 @@ class Lemming(BaseObject):
|
|||||||
sprites = self.game.getSpriteDir("particles/ghost/")
|
sprites = self.game.getSpriteDir("particles/ghost/")
|
||||||
self.game.addParticle(sprites,self.rect.center[0],self.rect.center[1],fps=2,vely=-1)
|
self.game.addParticle(sprites,self.rect.center[0],self.rect.center[1],fps=2,vely=-1)
|
||||||
|
|
||||||
|
self.deathsfx.play()
|
||||||
|
self.game.sound_lib["sfx/death.wav"].play()
|
||||||
|
|
||||||
|
# SFX
|
||||||
|
if self.sfxtimer.tick(self.game.dt):
|
||||||
|
random.choice(self.sfx).play()
|
||||||
|
self.sfxtimer = self.game.lib.Timer(15+random.random()*10)
|
||||||
|
|
||||||
def launch(self):
|
def launch(self):
|
||||||
# Launch itself in the mouse direction
|
# Launch itself in the mouse direction
|
||||||
xdiff = self.game.inputs["mouse"]["pos"][0]-self.rect.center[0]
|
xdiff = self.game.inputs["mouse"]["pos"][0]-self.rect.center[0]
|
||||||
@ -160,6 +172,8 @@ class Lemming(BaseObject):
|
|||||||
self.selected = False
|
self.selected = False
|
||||||
self.holdtimer.reset()
|
self.holdtimer.reset()
|
||||||
|
|
||||||
|
self.manager.dash()
|
||||||
|
|
||||||
def move(self,x,y):
|
def move(self,x,y):
|
||||||
# Remember the digits, pygame rects only move with integers
|
# Remember the digits, pygame rects only move with integers
|
||||||
velx = x+self.restx
|
velx = x+self.restx
|
||||||
|
@ -26,6 +26,11 @@ class Manager(BaseObject):
|
|||||||
# Sky gradients
|
# Sky gradients
|
||||||
self.game.gameloop.summon(Skies(game))
|
self.game.gameloop.summon(Skies(game))
|
||||||
|
|
||||||
|
# Dash sfx for the pinmiks
|
||||||
|
self.sfx = game.sound_lib["sfx/dash.wav"]
|
||||||
|
self.can_sfx = True
|
||||||
|
self.sfxtimer = game.lib.Timer(0.4)
|
||||||
|
|
||||||
# Clouds in the background
|
# Clouds in the background
|
||||||
self.clouds = Clouds(game,game.DISPLAY_WIDTH,speed=30,cameraratio=0.8)
|
self.clouds = Clouds(game,game.DISPLAY_WIDTH,speed=30,cameraratio=0.8)
|
||||||
self.cloudsdark = Clouds(game,game.DISPLAY_WIDTH,speed=10,cameraratio=0.4,spritename="cloudsdark.png")
|
self.cloudsdark = Clouds(game,game.DISPLAY_WIDTH,speed=10,cameraratio=0.4,spritename="cloudsdark.png")
|
||||||
@ -48,7 +53,16 @@ class Manager(BaseObject):
|
|||||||
self.game.gameloop.summon(Spawner(self.game,self.tiles,skins=self.skins))
|
self.game.gameloop.summon(Spawner(self.game,self.tiles,skins=self.skins))
|
||||||
self.game.gameloop.summon(Spawner(self.game,self.tiles,skins=self.skins))
|
self.game.gameloop.summon(Spawner(self.game,self.tiles,skins=self.skins))
|
||||||
|
|
||||||
|
def dash(self):
|
||||||
|
# Called by pinmiks when dashing
|
||||||
|
if self.can_sfx:
|
||||||
|
self.sfx.play()
|
||||||
|
self.can_sfx = False
|
||||||
|
|
||||||
def step(self):
|
def step(self):
|
||||||
|
if not self.can_sfx:
|
||||||
|
if self.sfxtimer.tick(self.game.dt):
|
||||||
|
self.can_sfx = True
|
||||||
lemmings = self.game.gameloop.findname("Lemming")
|
lemmings = self.game.gameloop.findname("Lemming")
|
||||||
nblemmings = len(lemmings) + len(self.game.gameloop.findname("Spawner"))
|
nblemmings = len(lemmings) + len(self.game.gameloop.findname("Spawner"))
|
||||||
# Updating score
|
# Updating score
|
||||||
|
@ -24,6 +24,8 @@ class Spawner(BaseObject):
|
|||||||
# Depth updating based on position
|
# Depth updating based on position
|
||||||
self.depth = 1+self.rect[1]/100
|
self.depth = 1+self.rect[1]/100
|
||||||
|
|
||||||
|
game.sound_lib["sfx/fall.wav"].play()
|
||||||
|
|
||||||
def step(self):
|
def step(self):
|
||||||
if self.timer.tick(self.game.dt):
|
if self.timer.tick(self.game.dt):
|
||||||
lemming = Lemming(self.rect[0],self.rect[1],self.game,speedmargin=self.speedmargin,skin=self.skin)
|
lemming = Lemming(self.rect[0],self.rect[1],self.game,speedmargin=self.speedmargin,skin=self.skin)
|
||||||
@ -38,6 +40,8 @@ class Spawner(BaseObject):
|
|||||||
self.game.addParticle(sprites,self.rect[0],self.rect[1]+20,velx=-1,vely=-0.5)
|
self.game.addParticle(sprites,self.rect[0],self.rect[1]+20,velx=-1,vely=-0.5)
|
||||||
self.game.addParticle(sprites,self.rect[0],self.rect[1]+20,velx=1,vely=-0.5)
|
self.game.addParticle(sprites,self.rect[0],self.rect[1]+20,velx=1,vely=-0.5)
|
||||||
|
|
||||||
|
self.game.sound_lib["sfx/land.wav"].play()
|
||||||
|
|
||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
# Draw the shadow
|
# Draw the shadow
|
||||||
|
BIN
gamedata/sounds/sfx/dash.wav
Normal file
BIN
gamedata/sounds/sfx/dash.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/death.wav
Normal file
BIN
gamedata/sounds/sfx/death.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/death/0.wav
Normal file
BIN
gamedata/sounds/sfx/death/0.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/death/1.wav
Normal file
BIN
gamedata/sounds/sfx/death/1.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/death/dash.wav
Normal file
BIN
gamedata/sounds/sfx/death/dash.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/fall.wav
Normal file
BIN
gamedata/sounds/sfx/fall.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/land.wav
Normal file
BIN
gamedata/sounds/sfx/land.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/pinmik/0.wav
Normal file
BIN
gamedata/sounds/sfx/pinmik/0.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/pinmik/1.wav
Normal file
BIN
gamedata/sounds/sfx/pinmik/1.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/pinmik/2.wav
Normal file
BIN
gamedata/sounds/sfx/pinmik/2.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/pinmik/3.wav
Normal file
BIN
gamedata/sounds/sfx/pinmik/3.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/score.wav
Normal file
BIN
gamedata/sounds/sfx/score.wav
Normal file
Binary file not shown.
BIN
gamedata/sounds/sfx/scorescroll.wav
Normal file
BIN
gamedata/sounds/sfx/scorescroll.wav
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user