我的应用有2帧;在第1帧中有5个MC并且在DOUBLE_CLICK
事件中目标的颜色发生变化并转到下一帧2.
在第2帧中,我有一个返回第1帧的按钮。
当我返回第1帧时,如何保持MC颜色?
public class test extends MovieClip
{
public function test()
{
var myMCTable:Array = [myMC1, myMC2, myMC3, myMC4, myMC5];
for (var i:uint = 0; i < myMCTable.length; i++)
{
myMCTable[i].doubleClickEnabled = true;
myMCTable[i].addEventListener(MouseEvent.DOUBLE_CLICK, changeColor);
}
}
private function changeColor(e:MouseEvent) : void
{
var newColorTransform:ColorTransform = (e.target).transform.colorTransform;
newColorTransform.color = Math.random() * 0xFFFFFF;
(e.target).transform.colorTransform = newColorTransform;
nextFrame();
goBack_btn.addEventListener(MouseEvent.CLICK, goBack);
}
private function goBack(e:MouseEvent) : void
{
prevFrame();
}
}
答案 0 :(得分:0)
最简单的方法是拥有三个帧,在第1帧创建MC并在第2帧和第3帧之间切换。
您还可以将颜色信息存储在对象中。
_color[e.target.id] = newColorTransform.color;
然后检索并应用它。但是,您需要在前一帧,第三帧上初始化数据对象。如果不这样做,它将被重新初始化,你将失去你的颜色。
答案 1 :(得分:0)
如果你为影片剪辑(你有5个我相信)制作了一个他们共享的课程。创建一个名为myColor的类属性,然后在双击并更改每个动画片段对象的“myColor”属性时,可以使“goBack()”方法从其自己的属性重新应用每个动画片段的颜色。
这有意义吗?