2012-10-01 42 views
1

我想在ActionScript3中爲平臺遊戲構建基礎。在AS3我仍然是新手,但我希望這將有助於構建我的知識。這些AS3變量應該放在哪裏?

反正

我知道我可以創建與作爲雪碧這樣的東西或延長了Sprite/MovieClip類的MovieClip相關的ActionScript文件。我也知道有關作爲'文檔類'工作的Actionscript文件。

我的遊戲中的每個關卡都會有不同的屬性,例如重力。我應該在哪裏存儲這些變量?顯然不在玩家中......不知道他們是否應該進入時間線或文檔類,或者他們是否有單獨的AS文件。我被告知有全局變量通常是不好的,所以我不知道該怎麼做。

回答

1

我認爲這類似的問題和答案會幫助你有點:

As3 OOP game structure (class architecture)

基本上,「你想要做什麼是分離在你的遊戲,從遊戲本身有什麼變化。」所以絕對不要在時間表中包含代碼。

2

您可以將級別設置爲單獨的文件,甚至不是Actionscript,但是XML或JSON,因爲您的級別基本上是具有不同起始值的數據結構。你可以創建一個Level類,它可以接收這樣一個文件,解析它並根據所讀的內容初始化一個遊戲內層結構。是的,這些數據不應該進入時間線,因爲如果您需要更改其中的一部分數據,它可能會隱含影響其他遊戲過程。此外,一個簡單的點擊右鍵可以破壞這樣的遊戲:)我自己使用JSON文件作爲我的關卡數據持有者,並且我在初始化時解析它們,你可以這樣做,或者說當關卡被加載時。

總之,如果初始數據有些不同,但在方法中很常見,它應該與主代碼或整個代碼分開存放,並且作爲數據包含在內。