2013-12-10 50 views
0

我剛開始接觸狡猾,並根據這個教程我建立一個遊戲: http://buildnewgames.com/introduction-to-crafty/如何動態地構建地圖的大型世界在CraftyJS遊戲

但是我的比賽最終將有一個非常大的世界,我只想加載玩家當前位置所需的地圖。有沒有人知道用Crafty做這件事的任何例子?

(我慢慢通過API文檔工作我的方式,但沒有發現任何啓發,但 - 我希望找到某種內置功能...)

什麼,我專門找是 1)滾動時附近的地圖 2的邊緣球員移動)動態改變的地圖的地圖狡猾的代碼

我對如何做這樣做,但他們都不是吸引人的一些想法,所以我真的希望這是一個解決問題...

謝謝, Aerik

回答

1

有關圖書館的問題,我想你最好在

https://groups.google.com/forum/#!forum/craftyjs

您還可以搜索一下找到現有的回答你的問題。

要解釋其中一個答案:您可以將地圖劃分爲幾個部分,每個部分至少與屏幕一樣大。確保您的播放器所在的部分以及其周圍的部分始終創建。一旦移動到鄰近區域,就會摧毀三個舊區域並創建三個新區域,以便玩家再次進入中心區域。

你如何做記賬取決於你。我能想到的一種方式是給所有動態加載的實體一個組件,以將它們識別爲在特定的地圖區域(Crafty.e(「MapRegionIndexX」+ mapX +「Y」+ mapY))並存儲這些組件相關的方式到2D陣列中的3x3區域。一旦你移動到一個新的區域,你可以通過調用Crafty(「MapRegionIndex to be deleted」)來刪除舊的區域。each(function(){this.destroy()});

在當你移動靠近邊緣滾動的問題,狡猾的有可能性自動居中的球員(檢查API)在Crafty.viewport,功能視。你可以通過使用函數follow,pan,scroll,x和/或y來達到你想要的效果。