【发布时间】:2017-01-05 15:37:45
【问题描述】:
当按下左/右箭头键时,如何使图像/精灵旋转到左/右? ...就像一个轮子。
下面是运行游戏循环的代码:
def gameplay_loop():
exitgame = False
cellpos_x = 0
cellpos_y = cancer_cell.get_rect().height*2
while not exitgame:
for event in pygame.event.get():
if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE):
exitgame = True
quitgame()
key_pressed = pygame.key.get_pressed()
if key_pressed[pygame.K_LEFT]:
cellpos_x -= 10
if key_pressed[pygame.K_RIGHT]:
cellpos_x += 10
gameplay_bg = pygame.image.load("/Users/nedimkanat/Desktop/python/img/gameplay_bg.png").convert()
main_screen.fill(white)
main_screen.blit(gameplay_bg, [0,0])
main_screen.blit(cancer_cell, [cellpos_x, cellpos_y])
pygame.display.flip()
clock.tick(20)
我试图在 key_pressed 条件下添加它,但什么也没发生,我按照这个家伙说的做了:https://stackoverflow.com/a/19316827/6256879
精灵被称为cancer_cell,正如我上面提到的,我希望它在按住左/右键的同时旋转到左/右。
【问题讨论】:
-
你已经拥有了什么?本网站的目的不是为您编写整个程序。
-
在 Pygame 中,您必须使用
pygame.transform.rotozoom函数将您的图像作为 pygame 表面传递给它,但是您需要围绕该调用的整个程序才能使其工作。 -
1. 了解如何处理 key presses 等事件。 2. 了解rotate Surfaces 的功能。 3. 在 Stack Overflow 上尝试、犯错误、重试、获得经验并找出答案或就您不了解的内容提出更具体的问题,向我们展示您的尝试,您的预期和出了什么问题。
-
在这篇文章中查看我对您的回答的评论:stackoverflow.com/questions/39201171/pygame-smoother-movement/…。我认为这对你来说很重要,这取决于你是否希望精灵在按下键时保持旋转,或者每次按下键时只旋转一次给定的量。正如 Ted Klein 建议的那样,检查 Pygame 文档以进行旋转,并在您尝试几次后通过代码示例提出更具体的问题。
-
更新问题..
标签: python-2.7 pygame