diff --git a/engine/sdl2.py b/engine/sdl2.py index 113705f..ebccfcb 100644 --- a/engine/sdl2.py +++ b/engine/sdl2.py @@ -11,14 +11,20 @@ class GameWindow: self.cell_size = cell_size self.width = width * cell_size self.height = height * cell_size - self.target_size = (640, 480) + self.actual_screen_size = (640, 480) + if self.width > self.actual_screen_size[0] or self.height > self.actual_screen_size[1]: + self.target_size = self.actual_screen_size + else: + self.target_size = (self.width, self.height) self.w_start_offset = (self.target_size[0] - self.width) // 2 self.h_start_offset = (self.target_size[1] - self.height) // 2 self.w_offset = self.w_start_offset self.h_offset = self.h_start_offset + self.max_w_offset = self.target_size[0] - self.width + self.max_h_offset = self.target_size[1] - self.height print(f"Screen size: {self.width}x{self.height}") self.delay = 30 - sdl2.ext.init() + sdl2.ext.init(joystick=True) self.window = sdl2.ext.Window(title=title, size=self.target_size,)# flags=sdl2.SDL_WINDOW_FULLSCREEN) self.window.show() self.renderer = sdl2.ext.Renderer(self.window, flags=sdl2.SDL_RENDERER_ACCELERATED) @@ -105,8 +111,8 @@ class GameWindow: elif event.type == sdl2.SDL_MOUSEMOTION: self.scroll_view((event.motion.x//self.cell_size, event.motion.y//self.cell_size)) elif event.type == sdl2.SDL_JOYBUTTONDOWN: - if event.jbutton.button == 0: - self.close() + key = sdl2.SDL_JoystickGetButton(event.jbutton.which, event.jbutton.button) + self.key_callback(key) # Disegna qui gli sprite self.renderer.present() @@ -118,10 +124,16 @@ class GameWindow: def scroll_view(self, pointer): x, y = pointer + x = x//2 + y = y//2 x = -x * self.cell_size y = -y * self.cell_size - - self.w_offset = x //2 - if -y < self.height-(self.height-self.target_size[1])-self.cell_size: - self.h_offset = y //2 \ No newline at end of file + if not x <= self.max_w_offset + self.cell_size: + self.w_offset = x + else: + self.w_offset = self.max_w_offset + + + if not y < self.max_h_offset: + self.h_offset = y \ No newline at end of file diff --git a/rats.py b/rats.py index 1805e8c..9957e92 100644 --- a/rats.py +++ b/rats.py @@ -99,7 +99,7 @@ class MiceMaze: elif key == "Right": self.scroll_cursor(x=1) elif key == "Space": - self.play_sound("BOMB.wav") + self.play_sound("PUTDOWN.WAV") self.spawn_bomb(self.pointer) def scroll_cursor(self, x=0, y=0): diff --git a/sdl2-demo.py b/sdl2-demo.py index adce670..bb98aa3 100644 --- a/sdl2-demo.py +++ b/sdl2-demo.py @@ -8,7 +8,7 @@ import sdl2.ext class Main: def __init__(self): sdl2.ext.init() - self.size = (640, 480) + self.size = (800, 600) self.window = sdl2.ext.Window("PySDL2 Demo", size=self.size) self.window.show() self.renderer = sdl2.ext.Renderer(self.window)