下页Pro 2013-11-20 09:59 采纳率: 0%
浏览 3593

pygame游戏中如何实现鼠标与图片的交互

该游戏预 进入游戏时显示一个图片,通过点击该图片可以调用该游戏主代码,运行游戏。
希望代码解释

  • 写回答

1条回答 默认 最新

  • Kariol 2019-01-11 16:00
    关注
        # 初始化按钮坐标范围
        coo = list()
        # 循环每一个按钮图像,进行按钮图像绘制及坐标范围获取
        for i in range(len(button_images)):
            coo.append(self.menu(button_images[i], i + 4))
        # 依据鼠标位置与按钮坐标范围判断鼠标是否与按钮碰撞并点击,如果是,分别对相应按钮坐标点击事件进行标记
        if (coo[0][0][0] <= round(cursor_x - cursor.get_width() / 2) <= coo[0][1][0] and
                coo[0][0][1] <= round(cursor_y - cursor.get_height() / 2) <= coo[0][1][1]):
            self.menu(button_images[0], 0 + 4)
            if is_click:
                choice = 1
        if (coo[1][0][0] <= round(cursor_x - cursor.get_width() / 2) <= coo[1][1][0] and
                coo[1][0][1] <= round(cursor_y - cursor.get_height() / 2) <= coo[1][1][1]):
            self.menu(button_images[1], 1 + 4)
            if is_click:
                choice = 2
        if (coo[2][0][0] <= round(cursor_x - cursor.get_width() / 2) <= coo[2][1][0] and
                coo[2][0][1] <= round(cursor_y - cursor.get_height() / 2) <= coo[2][1][1]):
            self.menu(button_images[2], 2 + 4)
            if is_click:
                choice = 3
    
        记录下图片的左上和右下两个点的坐标,在这两个点之间的坐标都是图片范围。判断鼠标坐标是否在该范围内,然后判断点击事件是否发生,都满足则调用主程序文件就OK啦。
    
        才看到这个问题是13年的,不知道楼主有没有更好的方法解决了这个问题。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 微信小游戏反编译后,出现找不到分包的情况
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题