Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Embed - как загрузить пронумерованные картинки? (http://www.flasher.ru/forum/showthread.php?t=145161)

xintrea 30.09.2010 17:38

Embed - как загрузить пронумерованные картинки?
 
Здравствуйте!


Имеется набор картинок с именами image1.png...image52.png

Нужно, чтобы они были вкомпилированы в SWF, и доступны из библиотеки не как отдельные объекты типа Class с уникальным именем, а как элементы массива с индексами 1..52.

Я понимаю, что [Embed] - это директива, срабатываемая на этапе компиляции. Но это не должно мешать создавать на этапе компиляции элементы массива.

То есть, хочется следующего:

Код AS3:

var k:Array=new Array(); 
var counter:int=0;
[Embed(source="image1.png")] k[counter++];
[Embed(source="image2.png")] k[counter++];
...
[Embed(source="image52.png")] k[counter++];

Чтобы потом, когда создаются инстансы типа DisplayObject, пробежать по массиву k, например так:

Код AS3:

for(var i:int; i=0; i<52)
 kadr[i]=new k[i];

а не писать для каждого индекса отдельно команды:

Код AS3:

kadr[1]=new k01;
kadr[2]=new k02;
...
kadr[52]=new k52;

Как можно сделать вышеописанное?

Bgg 30.09.2010 17:46

Я бы сделал примерно так
Код AS3:

[Embed(source = '../lib/files0001.jpg')] private var Img1:Class;
[Embed(source = '../lib/files0002.jpg')] private var Img2:Class;
...
for (var i:int = 0; i < 2; i++)
{
        var Bmd:Class = getDefinitionByName("Img" + i.toString()) as Class;
        ...
}



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

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