2010-10-26 57 views
0

我正在寫物理側滾動遊戲。在弄髒我的手之前,我開始專注於物理和渲染圖形。最初我想保持靜態的每一件事(不滾動)。 對於物理學之後,參考了很多教程,最後我終於在這裏結束了http://www.tonypa.pri.ee/vectors/tut08.html。這套教程涵蓋了簡單遊戲所需的大部分基本/高級物理。通過遵循這個教程,我已經創建了我的2D世界,像三角形,盒子這樣的對象.....每個不同的對象頂點被保存爲矢量,用於計算碰撞,反彈,.......響應相當不錯,如果我只要每個可碰撞物體都是靜態的,只要在x/y上施加力量,就可以完美工作。 現在我正在努力如何根據方向(右/左)移動所有矢量,同時更新碰撞矢量中的新變化。我有一些基本的瞭解,這種翻譯如何在基於瓷磚的環境中工作。但對於非瓷磚世界來說,最佳做法是什麼。提前致謝。使用物理滾動2D世界

+1

你想滾動整個屏幕,或只是讓特定對象移動? – 2010-10-26 21:51:21

+0

我試圖在x,y中滾動整個場景。如果有人解釋PSP流行遊戲LOCO ROCO背後的方法,那將是非常棒的。在線版本在這裏http://www.cuteflashgames.com/game/loco_roco.html – Anandh 2010-10-27 14:33:36

回答

1

如果您要移動所有內容,最好的方法就是滾動虛擬相機。我恐怕對閃光燈一無所知,但我認爲它有一些功能來操縱虛擬相機,默認變換矩陣或類似的東西。

如果您可以操作虛擬相機或默認轉換矩陣,則不需要更改其他任何東西。

+0

感謝您的答覆。我沒有在Flash中開發這個遊戲,使用cocos2d和我自己的矢量爲Objective-C /物理。正如你所說我已經嘗試滾動整個CCLayer,但我無法使它完美smooth.I將嘗試探索相機和openGL ES。有人可以解釋攝像頭的x,y座標應該如何轉換爲玩家的移動? – Anandh 2010-10-27 14:32:52

+0

我很喜歡OpenGL,但不是OpenGL ES,所以我不知道它們究竟在哪裏變化。在opengl中,您需要設置glMatrixMode(GL_MODELVIEW)以便操作模型視圖矩陣,然後使用glTranslatef或使用glLoadMatrixf方法(並在opengl之外維護您自己的視圖矩陣)來操作虛擬相機。我通常保留自己的矩陣,因爲在複雜的程序中訪問所需的所有數據更爲容易。 – Montdidier 2010-10-28 01:58:05

1

如果您使用的OpenGL ...

我從內存sating這個,所以你需要檢查需要付出,但我認爲是統計的位置,你看什麼的GL方法。這就是你必須要做的。 你可以在世界合作伙伴中指定它,因此各個對象的x,y共同點不會改變,只是你的選擇。