Aggiungi supporto per lo scrolling degli assi nella classe KeyBindings e integra la gestione degli eventi di movimento degli assi nella classe GameWindow

This commit is contained in:
2024-12-23 16:53:37 +01:00
parent f473265df7
commit f3fe91ca36
3 changed files with 9 additions and 2 deletions
+3
View File
@@ -60,3 +60,6 @@ class KeyBindings:
elif self.scrolling_direction == "Right":
self.scroll_cursor(x=1)
self.scrolling += 1
def axis_scroll(self, x, y):
self.scroll_cursor(bool(x)*1, bool(y)*1)
+4 -1
View File
@@ -32,7 +32,7 @@ class GameWindow:
self.factory = sdl2.ext.SpriteFactory(renderer=self.renderer)
self.fonts = self.generate_fonts("assets/decterm.ttf")
self.running = True
self.key_down, self.key_up = key_callback
self.key_down, self.key_up, self.axis_scroll = key_callback
self.performance = 0
def load_joystick(self):
@@ -155,6 +155,9 @@ class GameWindow:
elif event.type == sdl2.SDL_JOYBUTTONUP:
key = event.jbutton.button
self.key_up(key)
elif event.type == sdl2.SDL_JOYAXISMOTION:
self.axis_scroll(event.jaxis.axis, event.jaxis.value)
# Disegna qui gli sprite
self.renderer.present()
+2 -1
View File
@@ -15,7 +15,8 @@ class MiceMaze(controls.KeyBindings):
self.cell_size = 40
self.full_screen = False
self.engine = engine.GameWindow(self.map.width, self.map.height,
self.cell_size, "Mice!", key_callback=(self.key_pressed, self.key_released))
self.cell_size, "Mice!",
key_callback=(self.key_pressed, self.key_released, self.axis_scroll))
self.pointer = (random.randint(1, self.map.width-2), random.randint(1, self.map.height-2))
self.scroll_cursor()
self.points = 0