Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   кто как размножает объекты (http://www.flasher.ru/forum/showthread.php?t=129357)

djyamato 31.08.2009 03:23

кто как размножает объекты
 
У меня праздный вопрос

Кто как размножает объекты (мувиклипы)
Кнопки, допустим, одинаковые (одинаковый вид и анимация у них) но с разными текстами.

Я, используя ActionScript 2.0, делаю так: (на примере кнопки)

Создаю один мувик с динамическим текстом и анимацией.
Смотрю чей он инстанс и в библиотеке и переназываю этот символ в библиотеке на myBtnObj, допустим.
Удаляю этот мувик со стэйджа.
В Symbol Properties, в библиотеке ставлю Linkage->Identifier прописываю то же имя (myBtnObj). Затем, в коде прописываю
Код AS1/AS2:

Object.registerClass("myBtnObj",myBtnObj);

и, сколь угодно много, вытаскиваю этот символ на стэйдж куда угодно вот каким способом:
Код AS1/AS2:

var StartDepth=1;
var NewBTN=_root.attachMovie("myBtnObj","myBtnObj_",StartDepth,{_x:myX,_y:myY});

Но это в теории, на самом деле не на рут, конечно, стараюсь аттачить, а предварительно создав контейнер.
Очень удобно....
Можно затем добавить
Код AS1/AS2:

NewBTN.nmbr=любой номер // в цикле допустим аттачили кнопки и их 7 штук

Можно на эту приаттаченную кнопку повесить XML объект, допустим, и при нажатии на нее этим XML пользоваться.
Код AS1/AS2:

NewBTN.xml=new XML();
NewBTN.xml=myXML;

Как отлавливаются события:
Код AS1/AS2:

function logoChar():Void {
        logoChar.prototype.onLoad = function():Void  {
              var thisObj=this;
              this.onPress=function(){
                  trace(thisObj.nmbr);
                  trace(thisObj.xml);
              }
        }
}

Удаление объекта:
Код AS1/AS2:

NewBTN.swapDepths(335) //  если не была указана положительная глубина
removeMovieClip(NewBTN);

Вот таким способом я пользуюсь (ну, конечно, не я его изобрел, а где-то давным-давно вычитал).


Быть может есть другие более удобные способы ?
А вы как делаете ?

etc 31.08.2009 09:24

Разделом ошиблись.


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

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