问题描述
def move(self):
#reset movement direction
self.path = 0
key = pygame.key.get_pressed()
if key[pygame.K_LEFT] and self.rect.left > 0:
self.rect.x -= self.speed
self.path = -1
if key[pygame.K_RIGHT] and self.rect.right < screenw:
self.rect.x += self.speed
self.path = 1
我正在让它使用按键,但我无法将其更改为鼠标定位
解决方法
只需通过鼠标光标的 x 坐标设置 paddle 的 centery
属性。鼠标手杖的位置可以通过 Playground 获得。 pygame.mouse.get_pos
提供了很多虚拟属性,可以用来获取和设置矩形的位置和大小。
mouse_pos = pygame.mouse.get_pos()
self.rect.centery = mouse_pos[1]
如果想让拨片向鼠标方向缓慢移动,则需要计算拨片中心到鼠标的距离:
mouse_buttons = pygame.mouse.get_pressed()
if any(mouse_buttons)
mouse_x,mouse_y = pygame.mouse.get_pos()
dy = mouse_y - self.rect.centery
if dy < 0:
self.rect.y -= min(-dy,self.speed)
self.path = -1
elif dy > 0:
self.rect.y += min(dy,self.speed)
self.path = 1