2012-09-07 69 views
0

我目前正在爲Windows Phone創建一個XNA遊戲。我有關於2D相機和背景的問題。2D XNA-相機和固定背景

是否可以移動XNA-Camera並修復背景,使其不隨攝像機視圖移動?此外,我的暫停按鈕和菜單欄也在移動,希望可以將它們固定到屏幕的頂部。

UPDATE: 這裏是我的布展了Methode從相機類:

public void Move(Vector2 amount) 
    { 
     _pos += amount; 
    } 

截圖:http://www.abload.de/img/screenshotbdllj.png

正如你可以在圖片中看到的箱對象正在下降自上而下和背景正在向上移動。有沒有辦法保持背景靜態不變?

+0

2D或3D?你能顯示一些相關的相機代碼,或者可能是一個截圖嗎?請記住,XNA沒有內置的「相機」 - 所以你必須告訴我們你在做什麼。 –

+0

2D,我只是用屏幕截圖更新了我的問題!謝謝 – nor0x

+0

沒有足夠的信息。在DrawCall中,您可以考慮相機,或者您不需要。它應該相當簡單。從數學的角度來看,攝像機移動或物體向相反方向移動並不重要。只需將每幀倒置的相機位置應用到對象。對於用戶界面元素,根本不應用相機位置。 – dowhilefor

回答

2

如果您在二維空間工作你可能有這樣的事情:

spriteBatch.Begin(SomeSortmode,nullnull,etc..., Matrix); 
//drawstuff 
spriteBatch.End(); 

如果是這種情況,將您的渲染代碼到另一個開始()和end()

我想像這樣:

spriteBatch.Begin(SomeSortmode,nullnull,etc..., Matrix); 
//draw stuff affected by the camera 
spriteBatch.End(); 

spriteBatch.Begin() 
//draw stuff which should not be affected by the camera 
spriteBatch.End();