2009-11-22 113 views
6

我正在製作一款遊戲,我的角色需要能夠擁有不同的武器。爲此,我認爲以某種方式將武器疊加在移動的精靈上將是正確的選擇,但我不知道我該如何做到這一點。在角色精靈上覆蓋2d武器精靈?

假設我的性格spritesheet看起來是這樣的:

Player SpriteSheet http://i47.tinypic.com/2qxw9ds.jpg

而且我preliminar武器spritesheet(還沒有決定一個固定的正方形尺寸的武器還),看起來是這樣的:

Weapon SpriteSheet http://i47.tinypic.com/vgltfs.jpg

你會如何讓覆蓋層在他的每個幀的角色手上正確設置武器?我知道有一種方法只是讓武器的框架與我的角色精靈一樣大小,然後覆蓋這些武器,但我認爲如果遊戲有太多的武器(比如15種不同的單手武器),這可能會得到相當瘋狂(有一個武器精靈表與每個類型的武器字符精靈表大小相同)

你們對如何實現這個有什麼建議嗎? (支持覆蓋角色精靈上的武器精靈)

謝謝!

回答

9

錨點。在玩家精靈圖形的每一幀中定義武器圖形的定位點。然後在你的武器精靈中定義與你的玩家精靈中的武器錨點相匹配的錨點。確保動畫幀在玩家/武器精靈之間同步。

+2

我會請注意,這與我們在3D中執行操作的方式基本相同:)命名的骨骼可以附加到並通過動畫移動。 – 2009-11-25 20:02:43

5

當我做了一個平臺射擊遊戲,我們有定位點(見leeor_net解釋),和

我的技術包括在,我可以旋轉,或使用roatated周圍幀的方式使得精靈在武器的情況下單個定位點,以及以已知半徑的弧線移動的角色臂。結果是我們可以要求武器在位置(cos(角度)*半徑,sin(角度)* radius);角度是我們有動畫的可能角度之一(例如,0代表前進,90代表向上,45代表前鋒對角線......如果我們只有這3個位置)。而「半徑」是從圓的中心到角色手臂的半徑(以像素爲單位)。

這種定位數學技術還允許您通過使用錨點或手動求和代碼上的值等來「抵消」武器,因此您可以「修復」錯誤(如編輯某人武器並且意外地將它移動了3個像素......你可以在y上總結+3或者移動它的錨點......)。

在我的遊戲中,意圖和結果(技巧無懈可擊)是指角色將指針指向鼠標光標,因此我可以在屏幕上的任何位置進行拍攝。爲了給一個流暢的動畫,我們有一個每10度的幀(因此有36幀)。如果你是遊戲的像素藝術來代替,使用角度,讓更少的鋸齒線(如45,或多或少22.5,90,0 ...),你可以有一般可達16個方向,當你想「少鋸齒線」的角度。 (看一個像素藝術教程,看看原因,但基本上,是使線條的斧比是一個整數,允許沒有反鋸齒的常規像素間距來表示它...)