在AS3中附加随机动画片段

时间:2010-03-10 20:18:53

标签: flash actionscript-3 actionscript

我正在将一个旧的AS1项目转换为AS3并遇到一个小问题。

以前,我附加了从库中链接的随机动画片段,其中包括像movie1,movie2,movie3等ID。这是我的代码:

var ranID = random(4)+1;
var mc = attachMovie("movie"+(ranID), "mc"+ranID, ranID);

在AS3中,我给了库中的每个动画片段一个类名,这样我就可以这样做:

var mc = new movie1();

然而,我希望那是一个随机的mc ...任何想法?

2 个答案:

答案 0 :(得分:1)

想出来:

var mc = new (getDefinitionByName("movie"+Math.floor(Math.random()*4)) as Class);
addChild(mc);

也许那里有更好的解决方案,但这对我来说很好。

答案 1 :(得分:0)

我会做这样的事情:

private var movieList:Array = [ 
    movie1, 
    movie2, 
    movie3, 
    movie4 
    ];

public function getRandomMovie():MovieClip {
  return new movieList[Math.floor(Math.random()*movieList.length)];
}

/* later */
var mc:MovieClip = getRandomMovie();
addChild(mc);