前言:我不是程序员,我是一名艺术家,我在AS3上非常糟糕,并且使用非常基本的方法来实现我想要的东西,即使它需要我整整一周的时间来弄明白并最终拥有1000多行冗余代码。
问题:我在舞台上有10个按钮。它们每个都有一个“in”和“out”动画。如何轻松点击任何按钮并让它播放“in”动画,同时播放之前点击过的任何其他按钮的“out”动画?最简单的方法是什么?
答案 0 :(得分:1)
无论你有什么代码来处理按钮按下,循环遍历按钮阵列并检查他们的_state
状态(或任何变量/属性告诉你按钮是"在"或者"列&#34)。如果它在"中找到了",则调用使其成为" out"的函数。
一些伪代码供您考虑:
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
}