2D C#XNA游戏中的动画

时间:2009-10-10 09:52:56

标签: c# xna 2d

我想用XNA在C#中创建一个2D游戏。应该有坚持者可以穿着不同的武器,如手枪,手榴弹或火箭发射器。那些火柴人也应该能够做其他的事情,比如喝一瓶啤酒和东西..那么你如何制作和储存这些动画(喝一瓶啤酒,走路,扔手榴弹)你怎么能告诉他们如何拿着武器(手枪:在手中,手榴弹:在手中,但手臂在他们后面,火箭发射器:在肩膀上)?什么是最好的(简单和可扩展的)方法?

3 个答案:

答案 0 :(得分:1)

对于坚持者来说,我想到了直接渲染骨骼的骨骼动画。与精灵相比,这种矢量图形可以很好地扩展。骨架动画存储具有长度和角度的骨骼树,并在预定义的关键帧之间进行插值。这样做的好处是,您可以轻松地将一些简单的物理和逆运动学与动画相结合(看看Jakobsen优秀的Verlet dynamics论文)来保存武器,啤酒罐和壁架等。这是公平的高级的东西,比3D图形容易得多,但它仍然需要很长时间来设计和实现。

答案 1 :(得分:1)

使用SpriteBatch合成精灵(给英雄一把剑等)有一点可以帮助一些Draw方法重载的Origin参数。它允许您围绕左上角以外的其他内容旋转,并且在定位不同大小的精灵时也可以提供帮助。由于原点是在源纹理比例中指定的,因此如果以不同比例绘制精灵,任何计算都将是有效事件。

答案 2 :(得分:0)

你所问的是一个相当广泛的问题。您可能想看看XNA Game Studio附带的2D Platformer示例。这可以让你开始。