Menü rendszer

This commit is contained in:
markojozsef
2026-09-16 13:03:56 +02:00
parent a59a205b8f
commit 7ea8df8002
4 changed files with 76 additions and 1 deletions

58
src/menu.py Normal file
View File

@@ -0,0 +1,58 @@
import arcade
import assets
import text
import controls
# Választható menüelem több menüelem közt, ha nincs valamelyik irányba másik menüelem, az irányra None értéket adunk
class MenuItem:
def __init__(self, label, x, y, left, right, up, down, action, data=None):
self.left = left
self.right = right
self.up = up
self.down = down
self.action = action
self.data = data
self.x = x
self.y = y
self.text = text.TextRenderer(x, y)
self.selected = False
self.text.reset(label)
self.text.type_all()
def select(self):
self.selected = True
def update(self):
if not self.selected:
return
if controls.is_control_pressed(4) and self.action: # Választ
self.action(self.data)
return
if controls.is_control_pressed(0) and self.up: # Fel
self.selected = False
self.up.select()
if controls.is_control_pressed(1) and self.down: # Le
self.selected = False
self.down.select()
if controls.is_control_pressed(2) and self.left: # Bal
self.selected = False
self.left.select()
if controls.is_control_pressed(3) and self.right: # Jobb
self.selected = False
self.right.select()
def render(self):
self.text.render()
if self.selected:
arcade.draw_texture_rect(
assets.sprites["cursor"],
arcade.LBWH(self.x - 16, self.y - 6, 16, 16),
pixelated=True
)