我正在製作側面滾動Flash遊戲。該級別是預先製作的,所以沒有運行時產生的對象。現在我做了這個級別很長的時間,但在編輯窗口中它突然停止。但在遊戲中它仍然在滾動。增加Flash場景長度
這是在editor.You可以看到滾動條不能再離開了。
而在遊戲中。
該級別比在編輯器中顯示的時間長。起初它只是在場景的邊界放置一個物體來增加它。但那不會再工作了。我如何增加場景寬度?提前致謝! :)
我正在製作側面滾動Flash遊戲。該級別是預先製作的,所以沒有運行時產生的對象。現在我做了這個級別很長的時間,但在編輯窗口中它突然停止。但在遊戲中它仍然在滾動。增加Flash場景長度
這是在editor.You可以看到滾動條不能再離開了。
而在遊戲中。
該級別比在編輯器中顯示的時間長。起初它只是在場景的邊界放置一個物體來增加它。但那不會再工作了。我如何增加場景寬度?提前致謝! :)
在任何給定時間,您可以在舞臺上顯示的圖像大小有限制。看起來你可能在推動這個限制,這就是爲什麼你不能再查看。
對此有各種各樣的原因,但歸結爲閃存DisplayList相對較慢,就Flash進程而言。當你在舞臺上處理很多東西時,Flash必須意識到每一個對象,並且如果你有更多的內容,你會得到可怕的性能。
但是,不要絕望!圍繞這個問題有辦法。
您需要知道的第一件事情是,此限制適用於舞臺上的位圖。你可以在你的項目中擁有一個更大的位圖 - 只要你不想一次顯示整個事物。
大多數遊戲框架,解決這個問題的方法是這樣的:
1)您存儲所有幕後的圖像數據的,你做你的圖像處理等均存在的。
2)在每一幀上,您都會使用copyPixels()來抓取出現在舞臺上的較大圖像的一部分。這意味着,如果您的舞臺視圖僅顯示640x480像素,那麼您只需複製大小相當於這些尺寸的部分。
3)在舞臺上,您只有一個位圖,您可以在第二步中從copyPixels()中寫入位圖數據。
這被稱爲「Blitting」,如果這聽起來有點複雜,那是因爲它。但是,正如我所說的,許多遊戲框架將爲你做很多事情。查看Flixel或PushButtonEngine,這是兩個最流行的框架。
這聽起來像你目前的方法需要一點調整才能使它以這種方式工作,但從長遠來看,我會推薦它 - 你的遊戲將變得更易於管理,你會變得更好性能,你將不必訴諸其他類型的駭客,以便讓你的關卡全部加載。 (快速和簡單的解決方案是將你的背景分解成幾幅圖像,並且隨着時間將它們交換出去,但是又一次 - 這將大量工作放到渲染引擎上,這通常不是你想要的地方把你沉重的舉重)。
祝你好運!