Főképernyő és stáblista képernyő
This commit is contained in:
@@ -3,6 +3,7 @@ import gamestates.title
|
||||
import gamestates.overworld
|
||||
import gamestates.battle
|
||||
import gamestates.gameover
|
||||
import gamestates.credits
|
||||
|
||||
gamestates = {
|
||||
"none": gamestates.none,
|
||||
@@ -10,6 +11,7 @@ gamestates = {
|
||||
"overworld": gamestates.overworld,
|
||||
"battle": gamestates.battle,
|
||||
"gameover": gamestates.gameover,
|
||||
"credits": gamestates.credits,
|
||||
}
|
||||
gamestate = "none"
|
||||
|
||||
|
||||
33
src/gamestates/credits.py
Normal file
33
src/gamestates/credits.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import menu
|
||||
import text
|
||||
import assets
|
||||
import gamestate
|
||||
|
||||
CREDITS_MUSIC = "mus_fnafsux"
|
||||
CREDITS_LENGTH = 10
|
||||
SCROLL_SPEED = 10
|
||||
|
||||
cred_text = text.TextRenderer(90, 180, 210)
|
||||
end_text = text.TextRenderer(128, 100, None, True)
|
||||
end_visible = False
|
||||
t = 0
|
||||
|
||||
def switch(game):
|
||||
assets.sounds[CREDITS_MUSIC].play()
|
||||
cred_text.reset("Gratulálunk, sikerült kivinni a játékot!")
|
||||
cred_text.type_all()
|
||||
end_text.reset("Vége!")
|
||||
end_text.type_all()
|
||||
|
||||
|
||||
def update(game, dt):
|
||||
global t, end_visible
|
||||
t += dt
|
||||
cred_text.move(0, dt * SCROLL_SPEED)
|
||||
if t >= CREDITS_LENGTH:
|
||||
end_visible = True
|
||||
|
||||
def draw(game):
|
||||
cred_text.render()
|
||||
if end_visible:
|
||||
end_text.render()
|
||||
@@ -2,4 +2,4 @@ import gamestate
|
||||
|
||||
# Azért létezik ez a "none" gamestate hogy meghívja az elsö gamestate init() funkcióját
|
||||
def update(game, dt):
|
||||
gamestate.switch_gamestate(game, "overworld")
|
||||
gamestate.switch_gamestate(game, "title")
|
||||
|
||||
@@ -21,7 +21,6 @@ objects = [
|
||||
balthasar
|
||||
]
|
||||
|
||||
|
||||
btrans_active = False
|
||||
btrans_timer = 0
|
||||
btrans_sound = None
|
||||
@@ -91,6 +90,9 @@ def start_battle(battle_id):
|
||||
btrans_timer = 0
|
||||
|
||||
def switch(game):
|
||||
if len(objects) == 1:
|
||||
gamestate.switch_gamestate(game, "credits")
|
||||
|
||||
global music_box
|
||||
in_battle_transition = False
|
||||
overworld.set_player_world_pos(game, balthasar.x, balthasar.y)
|
||||
|
||||
@@ -1,52 +1,36 @@
|
||||
import arcade
|
||||
import assets
|
||||
import controls
|
||||
import menu
|
||||
import text
|
||||
import renderers
|
||||
import gamestate
|
||||
|
||||
text = text.TextRenderer(6, 186, 210)
|
||||
panel = renderers.NineSlicesPanel(0,100,230,100)
|
||||
text = text.TextRenderer(0, 50, 210)
|
||||
panel = renderers.NineSlicesPanel(84,100,64,100)
|
||||
|
||||
m = []
|
||||
|
||||
def mos_1x(g):
|
||||
g.mosaic = 1
|
||||
g.mos_enabled = False
|
||||
|
||||
def mos_2x(g):
|
||||
g.mosaic = 8
|
||||
g.mos_enabled = True
|
||||
def new_game(g):
|
||||
gamestate.switch_gamestate(g, "overworld")
|
||||
|
||||
def switch(game):
|
||||
global m
|
||||
m = [
|
||||
menu.MenuItem("1", 100, 90, None, None, None, None, mos_1x, game),
|
||||
menu.MenuItem("2", 100, 70 , None, None, None, None, mos_2x, game)
|
||||
menu.MenuItem("Új játék!", 98, 150, None, None, None, None, new_game, game),
|
||||
menu.MenuItem("Kilépés", 98, 130, None, None, None, None, quit)
|
||||
]
|
||||
|
||||
m[0].down = m[1]
|
||||
m[1].up = m[0]
|
||||
m[0].select()
|
||||
|
||||
def update(game, dt):
|
||||
controltext = ""
|
||||
|
||||
for c in controls.controls:
|
||||
controltext += f"{c.label}: {c.pressed}-{c.held}\n"
|
||||
|
||||
for i in m:
|
||||
i.update()
|
||||
text.reset(controltext)
|
||||
text.reset("Irányítás:\n -WASD = mozgás\n -Enter = válaszás / interakció\n -Bal shift = Vissza")
|
||||
text.type_all()
|
||||
|
||||
def draw(game):
|
||||
arcade.draw_rect_filled(
|
||||
arcade.LBWH(0, 0, game.screen_width, game.screen_height),
|
||||
arcade.color.RED,
|
||||
)
|
||||
def update(game, dt):
|
||||
for i in m:
|
||||
i.render()
|
||||
i.update()
|
||||
|
||||
def draw(game):
|
||||
panel.render()
|
||||
text.render()
|
||||
for i in m:
|
||||
i.render()
|
||||
|
||||
Reference in New Issue
Block a user