Итак, вкратце, моя проблема заключается в следующем. Я использую переменную, которая является мувиклипом, загруженным из внешнего SWF. Я хочу «породить» несколько экземпляров мувиклипа, которые все реагируют на один и тот же код, поэтому, например, если я скажу var1.x = 100, все они будут в 100x. Но моя проблема в том, что когда я запускаю addChild (var1) несколько раз (на самом деле я не набираю addChild (var1) снова и снова, я просто настраиваю их добавлять в случайное время), новый дочерний элемент просто заменяет старый вместо того, чтобы делать несколько видеоклипов. Должен ли я сделать что-то вроде
var var1: MovieClip
var var2: MovieClip = new var1? (что, кстати, у меня не работает, дает ошибки)
О, вот код, а также, я довольно плохо знаком с as3 fyi, до сих пор даже не знаю, как работают массивы, что было моей второй догадкой о проблеме.
var zombieExt:MovieClip;
var ldr2:Loader = new Loader();
ldr2.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded2);
ldr2.load(new URLRequest("ZombieSource.swf"));
function swfLoaded2(event:Event):void
{
zombieExt = MovieClip(ldr2.contentLoaderInfo.content);
ldr2.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded2);
//zombieExt.addEventListener(Event.ENTER_FRAME, moveZombie)
zombieExt.addEventListener(Event.ENTER_FRAME,rotate2);
function rotate2 (event:Event)
{
var the2X:int = playerExt.x - zombieExt.x;
var the2Y:int = (playerExt.y - zombieExt.y) * 1;
var angle = Math.atan(the2Y/the2X)/(Math.PI/180);
if (the2X<0) {
angle += 180;
}
if (the2X>=0 && the2Y<0) {
angle += 360;
}
//angletext.text = angle;
zombieExt.rotation = (angle*1) + 90;
}
playerExt.addEventListener(Event.ENTER_FRAME,spawn1);
function spawn1 (event:Event)
{
if(playerExt.y < 417)
{
var someNum:Number = Math.round(Math.random()*20);
if(someNum == 20)
{
addChild(zombieExt)
zombieExt.x = Math.round(Math.random()*100)
zombieExt.y = Math.round(Math.random()*100)
}
}
}
}