Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Изменить родителя (http://www.flasher.ru/forum/showthread.php?t=112157)

Majus 20.05.2008 03:59

Изменить родителя
 
Доброго времени суток,

Я пытаюсь для каждого мувика на сцене создать для свой контейнер с уникальным (индексируемым) именем, засунуть каждый мувик в свой контейнер и всем этим мувикам назначить одно и то же имя. Вот, что я делаю:

Код:

for( i=1; i<=num; ++i )
{       
        container = _root.createEmptyMovieClip( "container"+i, _root.getNextHighestDepth() ) );
        _root["obj"+i].parent = container;
         
          trace( container["obj"+i] );
          trace( _root["obj"+i] );
}

На первой итерации выдает следующее:
Цитата:

undefined
_level0.obj1
WTF? Такое ощущение, что требуется вызвать еще какую-нибудь функцию апдейта для мувика, в котором мы изменили родителя.

udaaff 20.05.2008 06:04

Родителя нельзя изменить.
В чем смысл этой строки?
Код:

_root["obj"+i].parent = container;

CorC 20.05.2008 09:59

Если вы хотели написать _parent, то ничего хорошего из этого бы не получилось, проще создавать контейнеры, а в них уже пехать мувики с одинаковыми именами.

Majus 20.05.2008 10:27

Гхм.. Т.е. изменить родителя мувика на лету не получится?

iNils 20.05.2008 10:52

В ас1/ас2 нельзя. Надо удалять клип, и создавать его в новом месте.

Majus 20.05.2008 21:06

Понял. Спасибо за информацию.

Alex_beginner 21.05.2008 17:57

Majus!

А почему бы тебе не реализовать задуманное вот так:

Код:

var num:Number = 10;
for (var i=0;i<=num;i++)
{
_root.createEmptyMovieClip("container"+i,this.getNextHighestDepth());
_root["container"+i].createEmptyMovieClip("мувик",this.getNextHighestDepth());
};

Использовать во втором случае можно и не createEmptyMovieClip() а, скажем, attachMovie(). Ведь перед созданием сцены, ты все равно объекты переводил в символы.

DJ_Baton 21.05.2008 21:07

можно вообще ядовито сделать ))) нубство полное но по факту вариант рабочий:
создай копии своего мувика в тех местах где он должен быть, далее когда нужна подмена 1-й прячишь координатами за область показа, второй ставишь на его место
при необходимости синхронизируешь в них анимацию и всё


Часовой пояс GMT +4, время: 02:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.