在 ActionScript 3 中实现游戏菜单的最简单方法?
Easiest way to implement a game menu in ActionScript 3?
目前我的游戏只包含一个播放按钮,单击该按钮即可运行游戏;所有这些都发生在文档 class 中,如下所示:
stage.addChild(playBtn);
playBtn.x = 0;
playBtn.y = stage.stageHeight/2;;
playBtn.addEventListener(MouseEvent.CLICK, playGame);
playGame() 函数然后从舞台和事件侦听器中删除 playBtn,并运行游戏代码。到目前为止,这对我来说还不错,但现在我想实现一个更复杂的菜单系统,它可能包含许多按钮、图形等(基本上是一个舞台 select 屏幕)。我的问题是,在屏幕上显示菜单、在 select 编辑阶段时将其移除然后在游戏结束时能够 return 进入菜单的更有效方式是什么?显然,我正在尝试在不使用时间线的情况下完成所有这些操作。
为每个屏幕使用单独的 classes。例如 MainMenu
屏幕 class 和 Game
class。然后你的文档class就变成了一个简单的屏幕切换控制器,它实例化、添加和删除屏幕classes。
只要每个屏幕只向自身添加内容,而不是向舞台添加内容,文档 class 不需要知道或关心屏幕内部的内容,删除屏幕不需要每个元素屏幕将被移除。
至于如何将所有元素添加到每个屏幕,让屏幕 class 处理它,或者将符号链接到屏幕 class 以及您的所有内容。
目前我的游戏只包含一个播放按钮,单击该按钮即可运行游戏;所有这些都发生在文档 class 中,如下所示:
stage.addChild(playBtn);
playBtn.x = 0;
playBtn.y = stage.stageHeight/2;;
playBtn.addEventListener(MouseEvent.CLICK, playGame);
playGame() 函数然后从舞台和事件侦听器中删除 playBtn,并运行游戏代码。到目前为止,这对我来说还不错,但现在我想实现一个更复杂的菜单系统,它可能包含许多按钮、图形等(基本上是一个舞台 select 屏幕)。我的问题是,在屏幕上显示菜单、在 select 编辑阶段时将其移除然后在游戏结束时能够 return 进入菜单的更有效方式是什么?显然,我正在尝试在不使用时间线的情况下完成所有这些操作。
为每个屏幕使用单独的 classes。例如 MainMenu
屏幕 class 和 Game
class。然后你的文档class就变成了一个简单的屏幕切换控制器,它实例化、添加和删除屏幕classes。
只要每个屏幕只向自身添加内容,而不是向舞台添加内容,文档 class 不需要知道或关心屏幕内部的内容,删除屏幕不需要每个元素屏幕将被移除。
至于如何将所有元素添加到每个屏幕,让屏幕 class 处理它,或者将符号链接到屏幕 class 以及您的所有内容。