Форум 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=87700)

Guelder 09.11.2006 21:32

вопрос по массивам
 
Схватился, возможно, за не очень пока посильное, но все же... В битвах мужчина крепчает :) Собственно, вопрос. Хотел создать массив мувов, в каждый из которых загружался бы свой какой-то клип из вне. Реализовал следующим образомЖ

Код:

for(i=1; i<3; i++) {
        PhotoArray[i] = "mc_"+i;
        _root.createEmptyMovieClip(PhotoArray[i], this.getNextHighestDepth());
        var mcl:MovieClipLoader = new MovieClipLoader();
        mcl.addListener(mclListener);
       
        mcl.loadClip("photo_"+i+".swf", PhotoArray[i]);
}

То есть, фактически создал массив имен и насоздавал кучу клипов. Они действительно создаются и с ними можно работать, если указывать имя клипа напрямую. то есть, выражение типа
Код:

mc_1._x = 100;
выполняется, а

Код:

PhotoArray[1]._x = 100;
//или
setProperty(PhotoArray[1], _x, 100);

уже нет, хотя, по сути дела это одно и то же... Как может показаться на первый взгляд. Поправьте меня, где я не прав и если я иду в неправильном направлении и можно это реализовать правильнее, то скажите как. Буду признателен.

iNils 09.11.2006 21:39

Для оформления своего кода, надо использовать теги [code][/code].

Guelder 09.11.2006 21:43

торопился, забыл... знал же :) А по сути?

iNils 09.11.2006 21:46

1. Надо создать массив
2. Заменить первые две строчки в цилке на
Код:

PhotoArray[i] = _root.createEmptyMovieClip ("mc" + i, this.getNextHighestDepth ());
3. С большой буквы принято писать только название классов, все остальное пишут с маленькой

AlexSol 09.11.2006 21:47

Код:

PhotoArray[i] = "mc_"+i;
        _root.createEmptyMovieClip(PhotoArray[i], this.getNextHighestDepth());

сначала в массив пишется строка, потом создается клип с именем, взятым из массива. при этом строка и клип никак не связаны. попробуй
Код:

PhotoArray[i] = _root.createEmptyMovieClip("mc_"+i, this.getNextHighestDepth());

DarkLight 09.11.2006 21:47

в PhotoArray ты кладешь строки-имена

Код:

PhotoArray[i] = _root.createEmptyMovieClip("mc_"+i, this.getNextHighestDepth());
Тогда это будет массив ссылок на клипы

Guelder 09.11.2006 21:54

Спасибо всем огромное, в таком маленьком сообщении почерпнул так много информации по сути и по оформлению кода :) Еще раз спасибо, пошел грызть сайт дальше...

Guelder 09.11.2006 21:58

Еще тогда вопрос до кучи - прелоадер будет реагировать на каждый подгружаемый клип в отдельности, насколько я понимаю. Он же не знает, скока я файлов загрузить хочу... Есть способ его привязать на все подгружаемый клипы, если их размер и количество заранее известны?

DarkLight 09.11.2006 22:05

Поставь интервальную проверку onLoadProgress всех клипов и складывай загруженное для получения процента загруженного, суммируй bytesTotal всех для получения суммарного объема

Guelder 09.11.2006 22:08

Так они одновременно загружаются? Я думал, по очереди... Тогда это упрощает задачу. Спасибо!


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

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