我是 pygame 的新手,现在正在使用 Sprite 。我的问题是如何检测 Sprite 是否被点击?当 Sprite 像按钮一样被点击时,我想做一些事情。
谢谢:)
[已编辑]
谢谢斯蒂芬。另外有没有办法知道被点击的 Sprite 是谁?这是示例代码
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] 中的 Sprite ,程序应打印其颜色或位置。再次感谢:)
最佳答案
我已经很久没有在 Pygame 中做过任何事情了,但是 IIRC 的基本思想是你的 Sprite 应该有一个 rect
attribute描述它在屏幕上的位置。当您收到鼠标单击事件时,您 get the position通过调用 pygame.mouse.get_pos()
。然后你可以 check for a collision通过在两个 rect
对象上调用 pygame.sprite.collide_rect()
,在以鼠标位置为中心的 rect
和 Sprite 的 rect 之间。
可以找到一个很好的例子here .
关于python - 如何检测 Sprite 是否已在pygame中被点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356840/