Főképernyő és stáblista képernyő

This commit is contained in:
markojozsef
2026-10-18 17:40:22 +02:00
parent 66c9cba93b
commit c45ab275b4
5 changed files with 52 additions and 31 deletions

View File

@@ -3,6 +3,7 @@ import gamestates.title
import gamestates.overworld import gamestates.overworld
import gamestates.battle import gamestates.battle
import gamestates.gameover import gamestates.gameover
import gamestates.credits
gamestates = { gamestates = {
"none": gamestates.none, "none": gamestates.none,
@@ -10,6 +11,7 @@ gamestates = {
"overworld": gamestates.overworld, "overworld": gamestates.overworld,
"battle": gamestates.battle, "battle": gamestates.battle,
"gameover": gamestates.gameover, "gameover": gamestates.gameover,
"credits": gamestates.credits,
} }
gamestate = "none" gamestate = "none"

33
src/gamestates/credits.py Normal file
View 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()

View File

@@ -2,4 +2,4 @@ import gamestate
# Azért létezik ez a "none" gamestate hogy meghívja az elsö gamestate init() funkcióját # Azért létezik ez a "none" gamestate hogy meghívja az elsö gamestate init() funkcióját
def update(game, dt): def update(game, dt):
gamestate.switch_gamestate(game, "overworld") gamestate.switch_gamestate(game, "title")

View File

@@ -21,7 +21,6 @@ objects = [
balthasar balthasar
] ]
btrans_active = False btrans_active = False
btrans_timer = 0 btrans_timer = 0
btrans_sound = None btrans_sound = None
@@ -91,6 +90,9 @@ def start_battle(battle_id):
btrans_timer = 0 btrans_timer = 0
def switch(game): def switch(game):
if len(objects) == 1:
gamestate.switch_gamestate(game, "credits")
global music_box global music_box
in_battle_transition = False in_battle_transition = False
overworld.set_player_world_pos(game, balthasar.x, balthasar.y) overworld.set_player_world_pos(game, balthasar.x, balthasar.y)

View File

@@ -1,52 +1,36 @@
import arcade
import assets
import controls
import menu import menu
import text import text
import renderers import renderers
import gamestate
text = text.TextRenderer(6, 186, 210) text = text.TextRenderer(0, 50, 210)
panel = renderers.NineSlicesPanel(0,100,230,100) panel = renderers.NineSlicesPanel(84,100,64,100)
m = [] m = []
def mos_1x(g): def new_game(g):
g.mosaic = 1 gamestate.switch_gamestate(g, "overworld")
g.mos_enabled = False
def mos_2x(g):
g.mosaic = 8
g.mos_enabled = True
def switch(game): def switch(game):
global m global m
m = [ m = [
menu.MenuItem("1", 100, 90, None, None, None, None, mos_1x, game), menu.MenuItem("Új játék!", 98, 150, None, None, None, None, new_game, game),
menu.MenuItem("2", 100, 70 , None, None, None, None, mos_2x, game) menu.MenuItem("Kilépés", 98, 130, None, None, None, None, quit)
] ]
m[0].down = m[1] m[0].down = m[1]
m[1].up = m[0] m[1].up = m[0]
m[0].select() m[0].select()
def update(game, dt): text.reset("Irányítás:\n -WASD = mozgás\n -Enter = válaszás / interakció\n -Bal shift = Vissza")
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.type_all() text.type_all()
def draw(game): def update(game, dt):
arcade.draw_rect_filled(
arcade.LBWH(0, 0, game.screen_width, game.screen_height),
arcade.color.RED,
)
for i in m: for i in m:
i.render() i.update()
def draw(game):
panel.render() panel.render()
text.render() text.render()
for i in m:
i.render()