예제 #1
0
파일: gameover.py 프로젝트: HuxyUK/pyasge
    def click_event(self, event: pyasge.ClickEvent) -> None:
        bounds = self.exit_button.sprite.getWorldBounds()
        cursor_pos = pyasge.Point2D(event.x, event.y)

        if bounds.v1.x <= cursor_pos.x <= bounds.v2.x:
            if bounds.v1.y <= cursor_pos.y <= bounds.v3.y:
                self.exit_button.clicked = True
예제 #2
0
파일: gameover.py 프로젝트: HuxyUK/pyasge
    def __init__(self, data: GameData) -> None:
        super().__init__(data)
        self.id = GameStateID.GAME_OVER
        self.user_clicked = False

        self.text = pyasge.Text(self.gamedata.font, "Game\nOver")
        self.text.position = pyasge.Point2D(150, 300)
        self.text.colour = pyasge.COLOURS.AQUA
        self.text.colour = pyasge.Colour(0, 0, 1)
        self.text.colour = [0, 1, 0]
        self.text.colour = (1, 0, 1)
        self.exit_button = GameObject("/data/images/menu_buttons.png")
        self.exit_button.sprite.z_order = 0
        self.exit_button.sprite.src_rect = [194, 400, 613, 203]
        self.exit_button.sprite.x = 50
        self.exit_button.sprite.y = 600
        self.exit_button.sprite.width = 500
        self.exit_button.sprite.height = 200
        self.exit_button.clicked = False

        self.mouse_cursor = GameObject("/data/images/black_cursor.png")
        self.mouse_cursor.sprite.z_order = 5
        self.mouse_cursor.sprite.src_rect = [36, 35, 47, 42]
        self.mouse_cursor.sprite.height = 42
        self.mouse_cursor.sprite.width = 47

        cursor_pos = self.gamedata.inputs.getCursorPos()
        self.mouse_cursor.sprite.x = cursor_pos.x
        self.mouse_cursor.sprite.y = cursor_pos.y

        self.gamedata.inputs.setCursorMode(pyasge.CursorMode.HIDDEN)
        self.move_handle = self.gamedata.inputs.addCallback(
            pyasge.EventType.E_MOUSE_MOVE, self.move_event)
        self.click_handle = self.gamedata.inputs.addCallback(
            pyasge.EventType.E_MOUSE_CLICK, self.click_event)
예제 #3
0
 def __init__(self, settings):
     pyasge.ASGEGame.__init__(self, settings)
     """load font and create text instance"""
     self.font = self.renderer.loadFont("/data/fonts/kenvector_future.ttf",
                                        40)
     self.text = pyasge.Text(self.font, "Hello World")
     """change text position"""
     self.text.position = pyasge.Point2D(50, 200)
     self.text.position = [50, 200]
     self.text.position = (50, 200)
     self.text.position.x = 50
     self.text.position.y = 200
     """change text colour"""
     self.text.colour = pyasge.COLOURS.AQUA
     self.text.colour = pyasge.Colour(0, 0, 1)
     self.text.colour = [0, 1, 0]
     self.text.colour = (1, 0, 1)
     """pixel distance checks"""
     print(self.font.pxWide("c", 1))
     print(self.font.pxWide("cat", 1))
     """bounding box checks"""
     print(self.text.local_bounds)
     print(self.text.world_bounds)
     """bounding box checks"""
     self.text.opacity = 0.0
     self.text.scale = 0.75
예제 #4
0
    def __init__(self, settings):
        pyasge.ASGEGame.__init__(self, settings)

        self.camera = pyasge.Camera(1024, 768)
        self.camera.lookAt(pyasge.Point2D(0, 0))

        self.bg = pyasge.Sprite()
        self.bg.loadTexture("/data/images/background.png")
        self.bg.z_order = -10
        self.bg.x = -750
        self.bg.y = -500

        self.sprite = pyasge.Sprite()
        self.sprite.loadTexture("/data/images/character_zombie_idle.png")
        self.inputs.addCallback(pyasge.EventType.E_KEY, self.input)
        """load font and create text instance"""
        self.font = self.renderer.loadFont("/data/fonts/kenvector_future.ttf",
                                           40)
        self.text = pyasge.Text(self.font, "[BRAINS]")
        self.ui_text = pyasge.Text(self.font, "Lives: XXX")
        self.ui_text.position = [1020 - self.ui_text.width, 35]
        self.ui_text.colour = pyasge.COLOURS.CHOCOLATE
        """track key states"""
        self.keys = {
            pyasge.KEYS.KEY_A: False,
            pyasge.KEYS.KEY_D: False,
            pyasge.KEYS.KEY_W: False,
            pyasge.KEYS.KEY_S: False,
            pyasge.KEYS.KEY_EQUAL: False,
            pyasge.KEYS.KEY_MINUS: False,
        }
예제 #5
0
파일: gameobject.py 프로젝트: HuxyUK/pyasge
    def __init__(self, texture):
        self.clicked = None
        self.sprite = pyasge.Sprite()
        self.sprite.loadTexture(texture)
        self.velocity = pyasge.Point2D(0, 0)
        self.sprite.setMagFilter(pyasge.MagFilter.LINEAR)

        self.colour = pyasge.Colour(0, 0, 0)