[英]How to maintain a movieclip's color between frames?
我的應用有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();
}
}
最簡單的方法是擁有三個框架,在框架1上創建MC,然后在框架2和3之間切換。
您也可以將顏色信息存儲在對象中。
_color[e.target.id] = newColorTransform.color;
然后檢索並應用它。 但是,再次需要在上一個第三幀上初始化數據對象。 如果不這樣做,它將被重新初始化,並且您將失去顏色。
如果您為電影剪輯開一堂課(我相信有5個),它們都是共享的。 創建一個名為myColor的類屬性,然后在雙擊並更改顏色時更新每個單個movieclip對象的“ myColor”屬性,您可以使“ goBack()”方法從其自身的屬性重新應用每個movieclip的顏色。
這有意義嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.