Browse Source

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

master
Matteo Benedetto 1 year ago
parent
commit
f3fe91ca36
  1. 3
      engine/controls.py
  2. 5
      engine/sdl2.py
  3. 3
      rats.py

3
engine/controls.py

@ -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)

5
engine/sdl2.py

@ -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()

3
rats.py

@ -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

Loading…
Cancel
Save