微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我怎样才能改变我的 pygame 桨从鼠标定位从键移动

如何解决我怎样才能改变我的 pygame 桨从鼠标定位从键移动

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。