1

我正在尝试为 Actionscript 3 中的平台游戏打下基础。我还是 AS3 的新手,但我希望这将有助于建立我的知识。

反正,

我知道我可以通过扩展 Sprite/Movieclip 类来创建与 Sprite 或 MovieClip 等内容相关联的 Actionscript 文件。我也知道作为“文档类”工作的 Actionscript 文件。

我的游戏中的每个关卡都有不同的属性,例如重力。我应该在哪里存储这些变量?显然不在播放器中......不确定他们是否应该进入时间线或文档类,或者他们是否有自己的单独 AS 文件。有人告诉我,拥有全局变量通常很糟糕,所以我不确定该怎么做。

4

2 回答 2

2

您可以将关卡制作为单独的文件,甚至不是 Actionscript,而是 XML 或 JSON,因为您的关卡基本上是具有不同起始值的数据结构。您可以创建一个可以获取此类文件的关卡类,对其进行解析并根据读取的内容初始化游戏中的关卡结构。是的,此类数据不应该进入时间线,因为如果您需要更改其中的一部分数据,它可能会隐式影响其他游戏流程。此外,一个简单的右键单击可能会毁掉这样的游戏 :) 我自己使用 JSON 文件作为我的关卡数据持有者,我在初始化时解析它们,你可以这样做或者说当你的关卡被加载时。

简而言之,如果某些东西在初始数据上有所不同,但在方法中很常见,那么它应该与主代码或整个代码分开,并作为数据包含在内。

于 2012-10-01T15:40:10.590 回答
1

我认为这个类似的问题和答案会对您有所帮助:

As3 OOP 游戏结构(类架构)

基本上,“你要做的就是将游戏中的变化与游戏本身分开”。所以绝对不要在时间线中包含代码。

于 2012-10-01T13:22:45.207 回答