簡體   English   中英

如何在幀之間保持動畫片段的顏色?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM