class TitleScreen(Scene): def init(self): snd_manager.set_playlist(['data/music/menu_gbjam.ogg']) self.img = img_manager.load_image("data/sprites/text/Title.png") self.font = sfml.Font.from_file("data/font/SILKWONDER.ttf") self.text = sfml.Text("PRESS START", self.font, 10) self.text.position = (58,63) self.text.color = sfml.Color.BLACK self.screen_pos = Vector2() self.time = 0 self.dialog = False self.cat = Image(Vector2(),path="data/sprites/text/CatPortrait.png",size=Vector2(79,74)) self.cat.init_image(size=Vector2(79,74)) self.cat.pos = engine.screen_size-self.cat.size self.ferret = Image(Vector2(),path="data/sprites/text/FerretPortrait.png",size=Vector2(73,74)) self.ferret.init_image(size=Vector2(73,74)) self.ferret.pos = Vector2(0,engine.screen_size.y)-Vector2(0,self.cat.size.y) def loop(self, screen): img_manager.draw_rect(screen, Vector2(), Rect(Vector2(0, 0), engine.get_screen_size()), (255, 255, 255)) self.cat.loop(screen) self.ferret.loop(screen) if not self.dialog: img_manager.show_image(self.img,screen,Vector2(0,-48)) if (self.time % 20) > 10: img_manager.buffer.draw(self.text) self.time += 1 if not self.dialog and (input_manager.get_button("A") or input_manager.get_button("B")): snd_manager.set_playlist(["data/music/intro_BOSS1_gbjam.ogg","data/music/BOSS1_gbjam.ogg"]) self.dialog = 1 engine.show_dialog = True engine.textbox.set_text("Fury", "General Meow, you are still alive") if self.dialog == 1 and engine.textbox.finished: if input_manager.get_button('A') or input_manager.get_button('B'): self.dialog = 2 engine.textbox.set_text("General Meow", "I'm not easy to kill. Don't forget it") if self.dialog == 2 and engine.textbox.finished: if input_manager.get_button('A') or input_manager.get_button('B'): self.dialog = 3 engine.textbox.set_text("Fury","I won't miss you next time") if self.dialog == 3 and engine.textbox.finished: if input_manager.get_button('A') or input_manager.get_button('B'): engine.show_dialog = False from engine.level_manager import switch_level switch_level(GameState(CONST.startup)) snd_manager.update_music_status()
class Dorian(Scene): def init(self): self.text = Image(path='data/sprites/text/logo-dorian_sred-2b_gameboy.png', pos=Vector2(0,16), size=Vector2(160, 128)) self.text.init_image() snd_manager.set_playlist(['data/sound/logo_dorian_8bit.ogg']) self.screen_pos = Vector2() def loop(self, screen): img_manager.draw_rect(screen, Vector2(), Rect(Vector2(0, 0), engine.get_screen_size()), (255, 255, 255)) self.text.loop(screen) if snd_manager.get_music_status(): from engine.level_manager import switch_level switch_level(TitleScreen()) snd_manager.update_music_status()
class Kwakwa(Scene): def init(self): #self.loading_screen = LoadingScreen() #self.loading_screen.init_method = [GameState(CONST.startup)] #self.loading_screen.init() self.text = Image(path='data/sprites/text/kwakwa_logo.png', pos=Vector2(), size=Vector2(160,144)) self.text.init_image() self.count = 4 * CONST.framerate snd_manager.play_music("data/sound/logo_kwa_8bit.ogg") self.screen_pos = Vector2() self.game_over = False def loop(self, screen): img_manager.draw_rect(screen,Vector2(),Rect(Vector2(0,0),engine.get_screen_size()),(255,255,255)) self.text.loop(screen) if snd_manager.get_music_status(): from engine.level_manager import switch_level switch_level(Dorian()) snd_manager.update_music_status()
class Dialog(Scene): def init(self): self.font = sfml.Font.from_file("data/font/SILKWONDER.ttf") self.screen_pos = Vector2() self.time = 0 self.player = Image(Vector2()) self.dialog = False self.last_checkpoint = Vector2() self.cat = Image(Vector2(),path="data/sprites/text/CatPortrait.png",size=Vector2(79,74)) self.cat.init_image(size=Vector2(79,74)) self.cat.pos = engine.screen_size-self.cat.size self.ferret = Image(Vector2(),path="data/sprites/text/FerretPortrait.png",size=Vector2(73,74)) self.ferret.init_image(size=Vector2(73,74)) self.ferret.pos = Vector2(0,engine.screen_size.y)-Vector2(0,self.cat.size.y) def loop(self, screen): img_manager.draw_rect(screen, Vector2(), Rect(Vector2(0, 0), engine.get_screen_size()), (255, 255, 255)) self.cat.loop(screen) self.ferret.loop(screen) if not self.dialog: snd_manager.set_playlist(["data/music/intro_BOSS1_gbjam.ogg","data/music/BOSS1_gbjam.ogg"]) self.dialog = 1 engine.show_dialog = True engine.textbox.set_text("Fury", "I'm coming for you, General Meow") if self.dialog == 1 and engine.textbox.finished: if input_manager.get_button('A') or input_manager.get_button('B'): self.dialog = 3 engine.textbox.set_text("General Meow", "I have a surprise for you, Fury") if self.dialog == 3 and engine.textbox.finished: if input_manager.get_button('A') or input_manager.get_button('B'): engine.show_dialog = False from levels.gamestate import GameState boss_level = GameState("data/json/boss_level.json") boss_level.last_checkpoint = self.last_checkpoint level_manager.switch_level(boss_level) snd_manager.update_music_status()