FLEX与ActionScript开发Flash游戏9.3关卡调度逻辑详解

关卡逻辑的调度核心,用一个Level类就能搞定。

单例模式的用法挺标准,用静态变量instance控制唯一实例,再配个Instance()方法取值,简单又不容易出错。

关卡元素的时间控制也安排得蛮细,像TimeBetweenElementsTimeToLevelEnd这些变量,让你可以比较精准地安排场景节奏,比如每隔几秒冒出一块小岛,或者在倒计时结束前播完背景音乐。

startup()方法算是启动整个关卡的引擎,把玩家、音乐、场景都拉起来,跟shutdown()配套用正合适。你要是加个暂停功能,也可以在这两头之间加逻辑。

图形资源这块用ArrayCollection来装不同类型岛屿,配合ResourceManager用起来还挺顺。不同关卡图不同,也就能轻松做出差异化。

虽然enterFrame代码没贴出来,但这类实时更新基本少不了它。你想让云漂、时间走、判断关卡结束,统统靠它一帧帧推着走。

,这份代码结构比较清晰,不绕、不花哨,适合想快速理解Flash游戏流程的你。想进一步看结构的话,去瞅瞅这篇

如果你也在搞ActionScript游戏,建议把这种关卡封装方式抄一套,能省不少事。

doc 文件大小:40KB