2017-05-24 147 views
0

我使用Phaser製作了一個使用Phaser的遊戲,它具有11800 x 11800像素的地圖。這來到約394.5 MB。這是大的渲染與8演唱會的內存,所以我把它分成100個(1180×1180每個10x10網格)。移相器渲染

Phaser是否將圖像渲染到屏幕外,或者我應該編寫代碼以僅在攝像機範圍內渲染,而image.kill();沒有時。或者有更好的方法來處理這個問題?

謝謝。

回答

0

您可以檢查一個Phaser示例來處理界限元素here。 基本上你必須處理每個元素的越界事件。

關於如何處理巨大的地圖,這取決於你正在創造什麼樣的遊戲的:通常的做法是用磚從spritesheet,它允許你創建一個沒有大文件巨大的地圖(例如here):

0

Phaser在呈現它們之前不會自動檢查對象的可見性,這是​​您必須處理的事情。

Phaser.Component中有一個叫做inCamera的函數,它允許你檢查遊戲對象是否在相機邊界內。

http://phaser.io/docs/2.6.2/Phaser.Component.InCamera.html

每場比賽的對象上運行這可能會導致性能問題,如果你不斷地檢查他們,所以根據我會盡量保持檢查儘可能低你的遊戲邏輯。