2009-10-10 104 views
0

我想在C#中使用XNA創建2d遊戲。應該有可以佩戴手槍,手榴彈或火箭發射器等不同武器的棍子。那些火柴人也應該可以做其他事情,比如喝一瓶啤酒和東西。那麼,你如何創建和存儲這些動畫(喝一瓶啤酒,散步,投擲手榴彈),你怎麼能告訴他們如何持有武器(手槍:在手中,手榴彈:在手中,但把手臂放在它們後面,火箭發射器:在肩上)?什麼是最好的(簡單和可擴展)的方法呢?2D C#XNA遊戲中的動畫

回答

1

對於stickmen,在我看來,帶有直接渲染骨骼的骨骼動畫。與精靈相比,這種矢量圖可以很好地擴展。骨骼動畫存儲具有長度和角度的骨骼樹,並在預定義的關鍵幀之間進行插值。這樣做的好處是,你可以輕鬆地將一些簡單的物理和反向運動學與動畫混合在一起(看看Jakobsen優秀的Verlet dynamics論文),以便拿着武器,啤酒罐和鞭子壁架等。這是相當先進的東西,很多比3D圖形更容易,但它仍然需要很長時間來設計和實施。

0

你問的是一個相當廣泛的問題。您可能想看看XNA Game Studio附帶的2D Platformer示例。這可以讓你開始。

1

使用SpriteBatch合成精靈(給英雄劍等)有一點可以幫助,它是一些Draw方法重載的Origin參數。它可以讓你圍繞左上角以外的東西旋轉,並且在定位不同大小的精靈時也有幫助。由於Origin是在源紋理比例中指定的,因此如果精靈以不同比例繪製,則任何計算都將是有效的事件。