Я создал игру во флэш-памяти, и из-за характера игры у меня есть множество видеороликов, которые вручную помещаются на сцену во Flash CS4.Они не добавляются программно как дети на сцену, и поэтому у меня возникают трудности с доступом к ним в классе документов.Пока что единственный способ, который я смог использовать, - это сделать stage.addChild(active_area);
(например), но есть много клипов с разными именами, поэтому этот метод кажется неправильным.
Я обнаружил, что мои мувиклипы не являются дочерними элементами сцены, но на самом деле MainTimeline
, как когда я for
перебираю stage.getChildAt(i);
, отслеживается только один дочерний элемент, root1
,
Как получить доступ к видеоклипам, которые были размещены на сцене на временной шкале из класса документа, без необходимости вручную добавлять их в качестве дочерних на сцену?
[РЕДАКТИРОВАТЬ]
Похоже, моя проблема была не в том, что я не мог получить доступ к MovieClips, а в том, что я не изменялзначения мувиклипа, поэтому я не регистрировал в них никаких изменений.
Вот код после того, как я его исправил:
function manage_cursor(e:Event):void {
prevX=currX;
prevY=currY;
currX=stage.mouseX;
currY=stage.mouseY;
var i:int;
if (currY > (stage.stageHeight/2)) {
for (i = 0; i < this.numChildren; i++) {
if (this.getChildAt(i).name!="active_area" && stage_kelp.y > kelp.min_y_mod) {
this.getChildAt(i).y-=1;
}
}
}
if (currY < (stage.stageHeight/2)) {
for (i = 0; i < this.numChildren; i++) {
if (this.getChildAt(i).name!="active_area" && this.stage_kelp.y < kelp.max_y_mod) {
this.getChildAt(i).y+=1;
}
}
}
}
Раньше проблема была в том, что я проверял stage.numChildren;
, используя stage.getChildAt(i)
и модифицируя тот дочерний элемент, который был временной шкалой.Это дало мне эффект от всех других моих MovieClips на стадии перемещения, поэтому я предполагал, что их y
значения были изменены, но они не были, таким образом, ни одно из моих условных выражений не сработало, создавая иллюзию, чтоЯ не получил доступ к MovieClips.Изменение stage
на this
, как рекомендовано пакетом в ответах ниже, решило проблему для меня.