为了账号安全,请及时绑定邮箱和手机立即绑定

用python3移动一个矩形

用python3移动一个矩形

小唯快跑啊 2023-10-26 16:35:36
我正在尝试在 pygame 中移动一个矩形这是我正在尝试工作的代码:currBlock1 = pygame.draw.rect(surface, (0, 255, 255), (340, 50, 60, 30))currBlock2 = pygame.draw.rect(surface, (0, 255, 255), (310, 80, 60, 30))currBlock1.move(340, 80)currBlock2.move(310, 110)这里有什么问题吗?
查看完整描述

1 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

pygame.Rect.move不移动矩形本身。该方法返回一个新的移动矩形。您必须使用,它可以就地运行。此外, /的参数是偏移量而不是位置: pygame.Rect.move_ipmovemove_ip

currBlock1.move_ip(0, 30)
currBlock2.move_ip(0, 30)

实际上,您在每一帧中重新创建相同的矩形。您需要pygame.Rect()在应用程序循环之前构造对象,并且必须在循环中移动它:

currBlock1 = pygame.Rect(340, 50, 60, 30)

currBlock2 = pygame.Rect(310, 80, 60, 30)


# application loop

while run:


    # [...]


    pygame.draw.rect(surface, (0, 255, 255), currBlock1)

    pygame.draw.rect(surface, (0, 255, 255), currBlock2)

    currBlock1.move_ip(0, 30)

    currBlock2.move_ip(0, 30)


查看完整回答
反对 回复 2023-10-26
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信