2014-02-19 87 views
2

我正在使用JavaScript創建遊戲。遊戲將涉及玩家在地牢中導航。我的問題是編碼像牆,門等物體的最佳方式是什麼?我堅持兩個明顯的選擇HTML5畫布 - 移動物體的最佳做法

  1. 繪製的每個對象到畫布上,以及如何將玩家移動

  2. 移動基於對象之間是否所有的對象預拉伸到背景圖像和正義之舉根據玩家如何移動

我想選擇2將是更容易,但我還是要檢測其中的對象,因此玩家不能只是走在牆上的背景圖像。

基本上我想知道是否有人可以從經驗談談設計遊戲的最佳方式,並且有沒有這方面的資源?

+1

如果你對製作遊戲比製作引擎更感興趣,可以考慮使用現有的框架,例如http://phaser.io/或http://www.createjs.com/#!/EaselJS,我相信這些使用相機的概念來移動物體。如果您有興趣不使用框架/引擎,您仍然可以查看其他人是如何實現相機的,以便您可以將所有對象放置在世界中並將相機移至世界。 – HJ05

+1

是的,#2更容易,性能更好。您需要對「基於圖塊的碰撞檢測」進行一些研究,以幫助您檢測牆壁和物體。 ......但這裏有一些基礎知識:1)你的牆壁/物體是2D地圖陣列。 2)使用自定義getIndex()函數將精靈的xy屏幕座標轉換爲地圖數組索引號。 3)如果精靈在陣列中的位置與牆或物體相同,則會發生碰撞。 – d13

回答

1

角色扮演遊戲的性能要求比例如街機遊戲要低。

你可能會好起來重新繪製所有的新職位。

即便如此,通過在不同於經常移動的角色的單獨圖層上設置背景(不經常移動),您可以獲得性能。

一個圖層可以像通過CSS移動的背景img元素一樣簡單,也可以是頂層玩家畫布下分層的單獨背景畫布。

好消息是,如果性能成爲問題,您可以從一層開始,然後很容易地轉換到多個層。

有沒有「設計一個遊戲最好的辦法」,但這裏有一些建議:

  • 獲取項目很快運行一個微小的工作原型。
  • 對原型進行增量更改。
  • 測試,測試,測試...

免責聲明:我不設計遊戲,但我這樣做,使用許多在遊戲中使用的相同交互技術的設計質量控制應用。