下页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 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划