如何检测精灵中是否已单击精灵

发布于 2021-01-29 16:23:34

我是pygame的新手,现在我正在使用精灵。我的问题是如何检测是否已单击精灵?我想像单击按钮一样,在单击精灵时做一些事情。

谢谢 :)

[编辑]

斯蒂芬。此外,还有一种方法可以知道单击的精灵是谁?这是示例代码

boxes = pygame.sprite.Group()
for color, location in [([255, 0, 0], [0, 0]),
                        ([0, 255, 0], [60, 60]),
                        ([0, 0, 255], [120, 120])]:
    boxes.add(UpDownBox(color, location)

例如,我单击位置[0,0]上的精灵,程序应打印其颜色或位置。再次感谢 :)

关注者
0
被浏览
65
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    自从我在Pygame中进行任何操作以来已经有很长时间了,但是IIRC的基本思想是您的Sprite应该具有描述其在屏幕上位置的rect
    属性。收到鼠标单击事件时,您可以通过调用来获得位置pygame.mouse.get_pos()。然后您可以rect通过调用pygame.sprite.collide_rect()两个rect对象来检查以鼠标位置为中心的精灵与精灵的矩形之间是否存在碰撞

    一个很好的例子可以在这里找到。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看