Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.09.2010, 17:38
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 1  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
По умолчанию 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;
Как можно сделать вышеописанное?
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru

Старый 30.09.2010, 17:46
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 2  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Я бы сделал примерно так
Код 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, время: 23:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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