python - 按键时的 Sprite 动画

标签 python animation sprite pygame

当您按下键盘上的按钮时,我正在尝试为 Sprite 表设置动画。我最初的想法是只在按键时传输图像。我将动画代码从主循环移至用户输入循环。但这不起作用,因为游戏循环处理整个游戏的单独状态。使用什么技术从用户输入触发动画?我想要一个动画系统,它既可以通过用户输入处理动画,也可以在后台自行处理动画。

 if __name__ == "__main__":
    print "the game"
    pygame.init()
    screen = pygame.display.set_mode((800,600))

    images = load_sliced_sprites(100, 71, "spinning_roundhouse_kick.png")
    spritesheet = AnimatedSprite(images, 20)
    #while pygame.event.poll().type != KEYDOWN:
    while True:
        screen.fill((255,255,255))
        event = pygame.event.poll()

        if event.type == KEYDOWN:
            #print "keydown"
            for image in images:
                screen.blit(image, (0,0))

        #time = pygame.time.get_ticks()
        #spritesheet.update(time)
        #screen.blit(spritesheet.image, (0,0))

        pygame.display.update()

最佳答案

看起来你应该做这样的事情..

sprite = AnimatedSprite(images, 20)
if event.type == KEYDOWN:
        sprite.update(pygame.time.get_ticks())
        screen.blit(sprite.getimage())

应该发生的情况是,您的 Sprite 类应该获得时间增量的更新,并在更改为新帧之前计算时间。只要按下键就绘制动画。

关于python - 按键时的 Sprite 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209581/

相关文章:

C++/SFML 显示小故障,通过鼠标单击更改 Sprite 成员

css - 无法让 css Sprite 与背景重复一起工作

javascript - 如何将参数从 Tornado 传递到 js 文件而不是 html?

python - subprocess.call 无法将标准输出发送到 ffmpeg

python - 好的 Python 2 音频模块

html - CSS SVG 动画在边缘不起作用

android - android 的 Canvas 滚动背景

python - 通过 Chalice API 调用将文件上传到 AWS S3

javascript - 当用户滚动到页面部分时如何触发动画

android - 在 android 上使用图像 Sprite