我目前正在研究2D平台游戏和我从动画左下角动画的精灵,当我使用ax和y绘制动画时,它仍然从左下角动画,所以当我绘制时动画到屏幕上的精灵应该变得更短但是精灵的脚只是像这样抬起地面https://www.dropbox.com/s/ofeggmlcp4f6qsk/Animation_probs_video.mp4 我知道视频质量不高但是那么。 他的头应该上下不起他的脚。如果你的家伙可以帮助我,我会非常感激。我还可以使用一个程序修复我有一个带有Windows xp虚拟盒的Linux计算机,我正在使用python 2.7和pygame。 感谢。
答案 0 :(得分:0)
假设您要为一系列矩形精灵设置动画,每个精灵都是pygame.Surface
的一个实例,您将添加高度最大的曲面与当前精灵曲面之间的差异到y位置时间你blit
。
仅查找最高精灵的高度一次:
max_height = tallest_sprite.get_height()
现在,当您使用current_sprite循环浏览每个帧时:
screen.blit(current_sprite, (x, y+(max_height - current_sprite.get_height())
如果帧率是一个问题,您可能需要事先计算这些差异并将它们与每个精灵相关联,这样每帧少一个get_height()
次呼叫。