Intro cinematic
This commit is contained in:
parent
3a1e866ced
commit
2d3f08a7d1
BIN
gamedata/assets/title.png
Normal file
BIN
gamedata/assets/title.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 965 B |
@ -105,7 +105,7 @@ class Game():
|
|||||||
self.pasttime = time.time()
|
self.pasttime = time.time()
|
||||||
|
|
||||||
# Je charge la scene de base
|
# Je charge la scene de base
|
||||||
scenes.overworld(self)
|
scenes.boot(self)
|
||||||
|
|
||||||
def set_camera(self,posx,posy):
|
def set_camera(self,posx,posy):
|
||||||
self.globals["camerax"], self.globals["cameray"] = posx,posy
|
self.globals["camerax"], self.globals["cameray"] = posx,posy
|
||||||
|
60
gamedata/objects/cinematic.py
Normal file
60
gamedata/objects/cinematic.py
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
from gamedata.objects.base import BaseObject
|
||||||
|
from gamedata.objects.transition import Transition
|
||||||
|
|
||||||
|
class Cinematic(BaseObject):
|
||||||
|
|
||||||
|
def __init__(self,game):
|
||||||
|
|
||||||
|
super().__init__(0,0,game)
|
||||||
|
|
||||||
|
text = """More and more trash is being thrown away
|
||||||
|
It's up to you now to clean everything up
|
||||||
|
Watch out for the baddies !"""
|
||||||
|
|
||||||
|
self.lines = text.split("\n")
|
||||||
|
self.sprites = []
|
||||||
|
for i in self.lines:
|
||||||
|
self.sprites.append(game.getchars(i))
|
||||||
|
|
||||||
|
self.currentlines = 1
|
||||||
|
|
||||||
|
self.timer = game.lib.Timer(5)
|
||||||
|
|
||||||
|
self.textpadding = 10
|
||||||
|
|
||||||
|
self.depth = 2
|
||||||
|
self.fill = game.pygame.Surface([self.game.globals["cameraw"],self.game.globals["camerah"]])
|
||||||
|
self.fill.fill([62,33,55])
|
||||||
|
|
||||||
|
self.totalheight = len(self.lines)*9+(len(self.lines)-1)*self.textpadding
|
||||||
|
self.offset = (self.game.globals["camerah"]-self.totalheight)/2
|
||||||
|
|
||||||
|
self.title = self.game.sprite_lib["title.png"]
|
||||||
|
|
||||||
|
self.sfx = self.game.sound_lib["sfx/return.wav"]
|
||||||
|
|
||||||
|
def step(self):
|
||||||
|
|
||||||
|
if self.currentlines < len(self.lines)+2 and self.timer.tick(self.game.dt):
|
||||||
|
self.currentlines += 1
|
||||||
|
if self.currentlines == len(self.lines):
|
||||||
|
self.timer = self.game.lib.Timer(5)
|
||||||
|
elif self.currentlines == len(self.lines)+2:
|
||||||
|
# Spawn transition
|
||||||
|
t = Transition(self.game)
|
||||||
|
self.game.gameloop.summon(t)
|
||||||
|
self.sfx.play()
|
||||||
|
|
||||||
|
|
||||||
|
def draw(self):
|
||||||
|
self.game.window.blit(self.fill,[0,0])
|
||||||
|
|
||||||
|
if self.currentlines<=len(self.lines):
|
||||||
|
for i in range(self.currentlines):
|
||||||
|
cx = self.game.globals["cameraw"]/2
|
||||||
|
self.game.lib.drawcenter(self.game,self.sprites[i],cx,self.offset+i*(self.textpadding+9))
|
||||||
|
else:
|
||||||
|
cx = self.game.globals["cameraw"]/2
|
||||||
|
cy = self.game.globals["camerah"]/2
|
||||||
|
self.game.lib.drawcenter(self.game,self.title,cx,cy)
|
||||||
|
|
@ -2,9 +2,9 @@ from gamedata.objects.ingame.player import Player
|
|||||||
from gamedata.objects.ingame.tileset import TilesetRenderer
|
from gamedata.objects.ingame.tileset import TilesetRenderer
|
||||||
from gamedata.objects.ingame.water import Water
|
from gamedata.objects.ingame.water import Water
|
||||||
from gamedata.objects.results import Results
|
from gamedata.objects.results import Results
|
||||||
|
from gamedata.objects.cinematic import Cinematic
|
||||||
|
|
||||||
def ingame(game,level="Level 2"):
|
def ingame(game,level="Level 2"):
|
||||||
game.scaleCamera(416,234)
|
|
||||||
game.globals["camerax"] = 0
|
game.globals["camerax"] = 0
|
||||||
game.globals["cameray"] = 0
|
game.globals["cameray"] = 0
|
||||||
game.gameloop.reinit()
|
game.gameloop.reinit()
|
||||||
@ -16,9 +16,13 @@ def ingame(game,level="Level 2"):
|
|||||||
game.gameloop.summon(p1)
|
game.gameloop.summon(p1)
|
||||||
|
|
||||||
def overworld(game):
|
def overworld(game):
|
||||||
game.scaleCamera(416,234)
|
|
||||||
game.globals["camerax"] = 0
|
game.globals["camerax"] = 0
|
||||||
game.globals["cameray"] = 0
|
game.globals["cameray"] = 0
|
||||||
game.gameloop.reinit()
|
game.gameloop.reinit()
|
||||||
tileset = TilesetRenderer(0,0,game,"Overworld")
|
tileset = TilesetRenderer(0,0,game,"Overworld")
|
||||||
game.gameloop.summon(tileset)
|
game.gameloop.summon(tileset)
|
||||||
|
|
||||||
|
def boot(game):
|
||||||
|
game.scaleCamera(416,234)
|
||||||
|
c = Cinematic(game)
|
||||||
|
game.gameloop.summon(c)
|
||||||
|
Loading…
Reference in New Issue
Block a user