我正面臨一個在遊戲設計中可能非常普遍的問題。2D世界設計問題
- 讓我們假設我們有一個2D世界
- 世界上尺寸爲M×N的矩形
- 世界可能包含在它
- 的項目有(X,Y)COORDS一些項目
- 世界可以通過物理(mxn)大的窗口瀏覽。
- 瀏覽器窗口可以放大/縮小
- 瀏覽器窗口可以向上/向下+向左平移,而在世界範圍內的範圍內。
我應該如何去實施?我特別關注瀏覽器窗口。任何人都可以推薦任何好的內容
這不是一項家庭作業 - 它更多的是我自己完成的任務。
我正面臨一個在遊戲設計中可能非常普遍的問題。2D世界設計問題
我應該如何去實施?我特別關注瀏覽器窗口。任何人都可以推薦任何好的內容
這不是一項家庭作業 - 它更多的是我自己完成的任務。
沒錯,我意識到我需要執行一些縮放,翻譯等等。我不確定它的順序,雖然 – Maciek 2009-10-19 19:31:06
你也許能夠脫離dhtml,但是flash或silverlight會更容易實現這樣的事情。
看看google maps背後的代碼,獲取一些靈感。他們正在做類似於你想要的純HTML的東西。
讓我們假設我是html受損的,說實話我討厭diggin,雖然它大聲笑 – Maciek 2009-10-19 19:28:16
實現它就像你實現谷歌地圖的特殊標記。
和我將如何實施谷歌地圖?大聲笑 – Maciek 2009-10-19 19:30:11
那麼,你有一個div('position:relative'),裏面有一堆世界貼圖('position:absolute')。那些相對於你的角色在世界上的位置得到移動。當用戶的視口超出當前加載圖塊集合的範圍時,您將添加更多圖塊(並在它們隱藏時刪除圖塊)。你的世界地圖是一個圖層('z-index:1'),你的敵人在另一圖層('z-index:2'),你的角色在另一圖層('z-index:3')。根據您的遊戲邏輯,每個圖塊都會移動('position:absolute; top:39px; left:107px')。 – 2009-10-20 02:25:54
基本上你將一個區域的矩形子集映射到另一個矩形,即。瀏覽器窗口。這實際上只是2個操作 - 翻譯之一,將查看區域定位在世界範圍內,然後進行縮放,以便將該任意可視區域縮放到窗口。與此不同的是放大和縮小的問題,這實質上是修改了查看區域的大小。
在遊戲開發中有幾種方法可以解決這個問題。通常,您可以自定義視圖投影以根據需要顯示儘可能多的世界(即,從世界座標轉換爲查看座標,通常是正交投影),並簡單地翻譯世界或視圖以放置視域,使其成爲指向你想看到的東西。如果您已正確設置對象的位置,3D硬件將繪製您所期望的內容。
你的意思是瀏覽器爲網頁瀏覽器嗎? 此外,我認爲5中的mxn與2中的MxN不同。 – Tordek 2009-10-19 19:18:36
這是一個web應用程序嗎?這個問題並不清楚。 – 2009-10-19 19:21:03
它是否是一個網絡應用程序是無關緊要的。我試圖專注於問題本身,而不是部署方法:) – Maciek 2009-10-19 20:07:33