我是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]中的精灵,程序应打印其颜色或位置。再次感谢:)
我很久没有在Pygame中做任何事情了,但是IIRC的基本思想是你的精灵应该有一个描述它在屏幕上位置的
rect
attribute。当您收到鼠标单击事件时,您可以通过调用pygame.mouse.get_pos()
来get the position。然后,您可以通过在两个rect
对象上调用rect
,在以鼠标位置为中心的rect
和您的精灵矩形之间check for a collision。一个很好的例子是here。
更简单:Rect.collidepoint(x,y)
主回路
在Rect和Sprite中还有多个碰撞函数。见:
相关问题 更多 >
编程相关推荐