Python街机模块arcade的鼠标移动与单击示例

"""
鼠标移动与单击示例
"""

import arcade

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
SCREEN_TITLE = "Python街机模块arcade的鼠标移动与单击示例,译:李兴球"


class Ball:
    def __init__(self, position_x, position_y, radius, color):

        # 球的中央坐标点和半径与颜色
        self.position_x = position_x
        self.position_y = position_y
        self.radius = radius
        self.color = color

    def draw(self):
        """画球. """
        arcade.draw_circle_filled(self.position_x, self.position_y, self.radius, self.color)


class MyGame(arcade.Window):

    def __init__(self, width, height, title):

        # 调用基类的初始化方法
        super().__init__(width, height, title)

        # 隐藏鼠标指针
        self.set_mouse_visible(False)

        arcade.set_background_color(arcade.color.ASH_GREY)

        # 实例化一个球
        self.ball = Ball(50, 50, 15, arcade.color.AUBURN)

    def on_draw(self):
        """ 开始渲染及画球 """
        arcade.start_render()
        self.ball.draw()

    def on_mouse_motion(self, x, y, dx, dy):
        """每秒60次更新球的坐标"""
        self.ball.position_x = x
        self.ball.position_y = y

    def on_mouse_press(self, x, y, button, modifiers):
        """
        单击鼠标键时调用此函数
        """
        print(f"你单击的鼠标为: {button}")
        if button == arcade.MOUSE_BUTTON_LEFT:
            self.ball.color = arcade.color.BLACK

    def on_mouse_release(self, x, y, button, modifiers):
        """
        松开鼠标键时调用此方法
        """
        if button == arcade.MOUSE_BUTTON_LEFT:
            self.ball.color = arcade.color.AUBURN


def main():
    window = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
    arcade.run()


if __name__ == "__main__":
    main()

 

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。扫码付款后的朋友可以加QQ: 406273900,提供技术支持及发送作品图片与配音素材。亦可直接向微信号scratch8付款购买。
李兴球的博客_Python创意编程技术前沿 » Python街机模块arcade的鼠标移动与单击示例

学本领,探索更大的世界!

李兴球博客 风火轮编程主页
error: Content is protected !!