-1
前言:我不是程序员,我是一名艺术家,我在AS3非常糟糕,并且使用非常基本的方法来实现我想要的东西,即使需要整整一个星期才能算出它出来并结束了1000多行冗余代码。在数组中切换项目
问题:我在舞台上的数组中有10个按钮。他们每个人都有一个“in”和“out”动画。如何轻松点击任何按钮,并在播放之前点击过的任何其他按钮的“out”动画时播放“in”动画?什么是最简单的方法来完成这一点?
前言:我不是程序员,我是一名艺术家,我在AS3非常糟糕,并且使用非常基本的方法来实现我想要的东西,即使需要整整一个星期才能算出它出来并结束了1000多行冗余代码。在数组中切换项目
问题:我在舞台上的数组中有10个按钮。他们每个人都有一个“in”和“out”动画。如何轻松点击任何按钮,并在播放之前点击过的任何其他按钮的“out”动画时播放“in”动画?什么是最简单的方法来完成这一点?
无论你有你的代码来处理按钮按钮,通过按钮阵列循环,并检查其状态(或任何变量/属性告诉你,如果按钮是“in”或“out”)_state
状态。如果它找到一个“in”,则调用使其“熄灭”的函数。
一些伪代码,你要考虑:
function buttonClicked(e:MouseEvent):void{
for (var i:int = 0; i < buttonArray.length; i++){
if (buttonArray[i]._state == "in"){
buttonArray[i]._state = "out";
// play button "out" animation
}
e.target._state = "in";
// play e.target "in" animation
}
我理解这个概念,但在实践中我没有。 ._state令我困惑。你如何将一个变量应用到按钮实例? 我已经设置了2个不同的数组:1生成按钮名称,第二个用于保存用于跟踪活动/非活动状态的按钮变量。 – Golgo13
添加您在其中创建按钮的代码。 (或者它们是在IDE中制作的?) –
如果它们是在IDE中制作的,我认为您可以选择按钮并按F9打开操作面板,然后在每个按钮实例中添加'var _state:String;'。如果您在运行时创建它们会更容易。你所要做的就是在类的.as文件的构造函数之上添加相同的代码行。 –