我有一個動畫片段,需要基於外部變量動態複製。 例如clip1,clip2等 此變量發生變化,所以我無法硬編碼它發生的次數。動態創建名稱並將其分配給動畫片段AS3
有沒有辦法動態創建這個動畫片段多次並根據屏幕對齊它?
我無法找到任何谷歌..
問候 Luben
我有一個動畫片段,需要基於外部變量動態複製。 例如clip1,clip2等 此變量發生變化,所以我無法硬編碼它發生的次數。動態創建名稱並將其分配給動畫片段AS3
有沒有辦法動態創建這個動畫片段多次並根據屏幕對齊它?
我無法找到任何谷歌..
問候 Luben
如何使用複製的DisplayObject的功能。該函數返回類提供的對象是一個新的實例:
function duplicateDisplayObject(dspObj:DisplayObject):DisplayObject
{
var class_name:String = getQualifiedClassName(dspObj);
var definition:Class = getDefinitionByName(class_name) as Class;
return new definition() as DisplayObject;
}
(影片剪輯,雪碧和位圖都來自的DisplayObject繼承)
編輯:
如果你需要使用它影片剪輯,您可以簡單:
var myDuplicate:MovieClip = duplicateDisplayObject(myOriginalMovieClip) as MovieClip;
你將不能夠只是複製一個剪輯的實例。你可以實例化它的類的另一個實例,然後調整它的位置。
var clip1:MyClip = new MyClip();
var copies:int = 10;
for(var i:int = 0, i < copies; i++) {
var clone:MyClip = new MyClip();
clone.name = 'clip' + i
clone.x = ....;
clone.y = ....;
}
var clip:YourClip;
for(var i:uint=0;i<5;i++)
{
clip = new YourClip();
addChild(clip);
clip.x = 20 + clip.width * i * 1.2;
clip.y = 20;
}
感謝朱利安正是我一直在尋找 - 記如果我使用的DisplayObject我不能使用.gotoAndPlay()。將其更改爲MovieClip可解決問題。 – Luben
確實如此,但不需要更改duplicateDisplayObject函數。只需在您使用它時施放返回值。看我上面的例子。 – JulianG
請注意,上述功能不適用於其他動畫片段中的動畫片段。任何關於如何複製這些對象的想法? – Luben