Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   addChild не хавает случайный клип HELP PLZ (http://www.flasher.ru/forum/showthread.php?t=139174)

stinkybob 25.04.2010 09:00

addChild не хавает случайный клип HELP PLZ
 
Народ, помоготи плз... есть такая фигня

Код AS3:

                private function imageLoadCompleate(event):void {
                        var num:Number=int(Math.random()*18);
                        var pool1child="imageLoader"+num ;
 
                        pool1mc.pool12mc.pool1_m1.addChild(pool1child);
 
 
                }

Код AS3:

TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать "imageLoader12" в flash.display.MovieClip.
        at main/imageLoadCompleate()

у меня есть 10 клипов и я хочу вставить рандомно из этих 10 клипов, но оно ругается, что делать помогите плз!!!!!!!

СПАСИБО!

Gaen 25.04.2010 09:23

Типизация нужна для того, чтобы люди перестали совать строку туда, где требуется DisplayObject.

Код AS3:

var pool1child:DisplayObject = new (getDefinitionByName("imageLoader"+num))() as DisplayObject;


stinkybob 25.04.2010 09:34

ReferenceError: Error #1065: Переменная imageLoader4 не определена.
at global/flash.utils::getDefinitionByName()
at main/imageLoadCompleate()

теперь такое

Gaen 25.04.2010 10:08

Откуда у вас должен взяться этот клип? Из библиотеки? А у него стоит галка export for actionscript? Имя класса задано?

stinkybob 25.04.2010 10:17

Код AS3:

...
                private var requestXML:URLRequest=new URLRequest("images/images.xml");
                private var loaderXML:URLLoader=new URLLoader();
                private var externalXML:XML;
...
                private var imageLoader1:Loader=new Loader();
                private var imageLoader2:Loader=new Loader();
                private var imageLoader3:Loader=new Loader();
...
                loaderXML.load(requestXML);
...
                externalXML=new XML(loaderXML.data);
 
                var image1=externalXML..image1;
                var image2=externalXML..image2;
                var image3=externalXML..image3;
 
                var request1:URLRequest=new URLRequest(image1);
                var request2:URLRequest=new URLRequest(image2);
                var request3:URLRequest=new URLRequest(image3);
...
 
                        imageLoader1.load(request1);
                        imageLoader2.load(request2);
                        imageLoader3.load(request3);

Вот собственно тут и получается картика если сделать addChild(imageLoader1)
но мне надо чтоб они рандомно вставлялись

Gaen 25.04.2010 10:29

Тогда вам нужно загнать их в массив, генерировать рандомный индекс и по нему доставать лоадер

stinkybob 25.04.2010 10:32

из массива он ругается на то что не конструктор

Добавлено через 22 минуты
Разобрался... почему-то в прошлый раз не получалось =)

Код AS3:

                        var arr:Array = new Array(imageLoader1,imageLoader2,imageLoader3,imageLoader4);
                        var arr_pool1:Array = new Array(pool1mc.pool12mc.pool1_m1,pool1mc.pool12mc.pool1_m2)
addChild(imageLoader3)
                        for (var i:int = 0; i<18; i++) {
                                var num=int(Math.random()*12);
                                arr_pool1[i].addChild(arr[num]);
                                trace(num);
                        }


не подскажете если у меня есть moviclip1 и я хочу его впихнуть в два места при помощи addChild() как это сделать а то на данный момент он пихает только в одно место

gloomyBrain 25.04.2010 11:59

Цитата:

я хочу его впихнуть в два места при помощи addChild() как это сделать а то на данный момент он пихает только в одно место
Никак. Один мувик (и вообще любой DisplayObject) может быть только в одном месте. Можно добавить второй такой же куда требуется.


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

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