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

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

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

Регистрация: Jan 2011
Сообщений: 200
По умолчанию Загрузка изображений на этапе компиляции и дальнейшее использование

Понадобилось загрузить 30-40 изображений. Все они имеют имена: 1.gif, 2.gif итд.
закидываю их во флеш:

Код AS3:
[Embed(source="/images/damage_digits/1.gif")] var damageDigit1:Class;
и т.д. все 30

далее есть метод, который должен обратиться к нужно картинке по параметру, вытащить ее и возвратить вызывающему.

Код AS3:
private function loadDamageDigit(damage:int):Bitmap{
           var imgLoad:Class=getDefinitionByName("damageDigit" + damage.toString())    as Class;
           damageDigits[damage.toString()] = new imgLoad();
           return damageDigits[damage.toString()];
вроде все должно работать, но компилятор выдает ошибку и говорит, что damageDigit1 не определена.
как решить проблему?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Сложите классы в массив, все станет проще.
__________________
Reality.getBounds(this);

Старый 04.03.2011, 15:48
ps_spectre вне форума Посмотреть профиль Отправить личное сообщение для ps_spectre Найти все сообщения от ps_spectre
  № 3  
Ответить с цитированием
ps_spectre
 
Аватар для ps_spectre

блогер
Регистрация: Jan 2010
Адрес: Киев
Сообщений: 156
Записей в блоге: 4
Отправить сообщение для ps_spectre с помощью Skype™
Предлагаю рассмотреть такой вариант:
something.Embeds.as
Код AS3:
package something
{
	public class Embeds
	{
		[Embed(source="../assets/SomeImage.png")]
		public var Image1:Class;
 
		[Embed(source="../assets/SomeImage2.png")]
		public var Image2:Class;
 
		public function Embeds() {}
	}
}
Tests.as
Код AS3:
package
{
	import flash.display.Sprite;	
 
	import something.Embeds;
 
	public class Tests extends Sprite
	{
		public function Tests()
		{
			var e:Embeds = new Embeds();
 
			addChild(new e["Image1"]);
			addChild(new e["Image2"]);			
		}
	}
}

Второй вариант, требует понимание как примерно работает mxmlc.
Код AS3:
package something
{
	public class Embeds
	{
		[Embed(source="../assets/SomeImage.png")]
		public static var Image1:Class;
 
		[Embed(source="../assets/SomeImage2.png")]
		public static var Image2:Class;
 
		public function Embeds() {}
	}
}
(для невнимательных: переменные static)
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.utils.getDefinitionByName;
 
	import something.Embeds;
 
	public class Tests extends Sprite
	{
		public function Tests()
		{
			var Img1:Class = getDefinitionByName("something.Embeds_Image1") as Class;
			var Emb:Class = getDefinitionByName("something.Embeds") as Class;
			addChild(new Emb["Image2"]);
			addChild(new Img1());
		}
	}
}
но обязательно надо указать компилятору явно включить класс Embeds
Код:
 -includes something.Embeds

something.Embeds_Image1
это появилось при компиляции. Детальней в блоге я писал. (тыц)
__________________
...

Старый 04.03.2011, 15:52
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 4  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
спасибо, буду пробовать)

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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