我正在製作XNA,C#遊戲,我想啓用基於xml的動畫。分辨率獨立網格動畫?
XML將看起來像這樣
<Animation>
<AnimatedObject>
<Filename>Spaceship_Jet_01</Filename>
<Flipped>false</Flipped>
<StartPosition_X>300</StartPosition_X>
<StartPosition_Y>500</StartPosition_Y>
<GOTOPosition_X>650</GOTOPosition_X>
<GOTOPosition_Y>500</GOTOPosition_Y>
<Time>10000</Time>
</AnimatedObject>
</Animation>
這將物體移動到一邊,這樣 http://imm.io/odc7(對不起X座標是錯誤的)
我注意到會有問題,當玩家顯示的分辨率與我的不同,因爲我輸入了像素精確的信息,關於對象來自哪裏以及哪裏去了。
我想過一個網格,所以我可以告訴程序將對象從(30,27)移動到(22,27)例如..這是一個很好的解決方案嗎?網格必須獨立於分辨率,但瓦片數量必須保持不變,並且必須將對象繪製到屏幕上。這意味着我必須在位置(22,27)找到貼圖的正確的像素位置,然後將對象「移動」到該貼圖。
有沒有更好的方法來做到這一點?我如何用XNA解決這個問題?
怎麼樣,而不是在像素設置X和Y,它們設置在百分比例如,x的0值意味着最左邊,1意味着最右邊?然後你可以很容易地計算出目標位置,你只需做XValue * GraphicsDevice.PresentationParameters.BackBufferWidth;或類似的規定。 – neeKo