2013-03-06 46 views
2

我會直接去點ActionScript 3的吸取大矩形造成了巨大的FPS下降

我要畫一個大尺寸的矩形(約5K像素寬&高度,可能會更)

this.graphics.beginFill(0x555555,1); 
this.graphics.drawRect(0, 0, 5000, 5000); 

現在我知道,在第一,它需要時間才能產生這麼大的矩形, 的但即使之後,FPS是非常低,尤其是當其他東西都在舞臺上移動,

我需要這個遊戲(這是地面),有沒有更好的簡單方法來做到這一點?

感謝

回答

2

可以更換一個大的背景,多個小的背景和改變根據當前視圖位置的位置。例如,具有5000個調色板的矩形可以分成25個「瓦片」,寬度和高度爲1000像素。您可以擁有兩個將保存當前拼貼的影片剪輯。您需要2個持有人 - 一個擁有當前視圖,另一個持有當當前視圖離開屏幕時可見的圖塊。

3

如果您的應用程序窗口僅爲800x600,則無需繪製5000x5000圖像。你可以做的是有5000x5000位圖數據,只需將它的一個子矩形複製到窗口上即可。 bitmapData.copyPixels應該讓你這樣做,它非常快。

0

假設遊戲區域沒有縮放,您將滾動遊戲,您不會顯示整個5000像素的矩形,所以您可以創建一個與舞臺區域大小相同的地面,並將其放置在一個圖層中沿着可見區域移動。 只是一個簡單的視差。

單層彩色地面。 其他圖層與物體移動。

無論如何,你應該提供關於遊戲的更多信息。 矢量圖形? 位圖?遊戲區域可擴展嗎?