首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎么才能让我的形状移动?我希望它使用提供的while语句移动。

我怎么才能让我的形状移动?我希望它使用提供的while语句移动。
EN

Stack Overflow用户
提问于 2022-04-20 15:58:28
回答 1查看 40关注 0票数 1
代码语言:javascript
复制
pygame.draw.circle(screen, btms3, (250, 187.5), 125, 2)
pygame.display.update()

x=10
y=10
running = 1

while running:
  if x <=10:
    hmove = 1
  elif x >= 350:
   hmove = -1
  if hmove == 1:
    x += 1
  elif hmove == -1:
    x += -1

我该怎么做才能像标题上说的那样?我确实有游戏翻转和显示,更新和诸如此类的事情,但我不能显示,因为我不想有一个超长的代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-20 16:11:25

您必须在应用程序循环中移动对象,并且必须在每个frame.Change中重新绘制场景,即循环中圆圈的中心坐标,并在每个帧中的新位置绘制圆圈:

代码语言:javascript
复制
import pygame

pygame.init()
screen = pygame.display.set_mode((360, 360))
clock = pygame.time.Clock()
x, y, hmove = 10, 10, 1

run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False 

    x += hmove
    if x >= 350 or x <= 10:
        hmove *= -1

    screen.fill((0, 0, 0))
    pygame.draw.circle(screen, "red", (x, y), 10, 2) 
    pygame.display.update()
    clock.tick(100)

pygame.quit()
exit()

典型的PyGame应用程序循环必须:

限制每秒的帧使用pygame.time.Clock.tick

  • update (取决于输入事件和时间的对象的游戏状态和位置)来限制CPU的使用(分别frames)

  • clear整个显示或绘制整个场景(blit all objects)

  • update objects)

)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71942770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档