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

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

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

Регистрация: May 2010
Сообщений: 59
По умолчанию из текста в тип (метод) или типа того

Здравствуйте,
вопрос такой возник
получаю из XML данные предположим, что в переменной text есть некоторая строка

var text:String = "stroka";

как можно ее использовать в качестве метода и соответственно как тип, типа

var tmp:text = new text();

что-то вроде этого :-)

нужно это, что бы подгружать символы созданные во флеш динамически в AC т.е. берем настройки из XML файла, и грузим что надо

спасибо

Старый 28.05.2010, 03:16
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
getDefinitionByName() ?
__________________
Hell is the possibility of sanity

Старый 28.05.2010, 03:23
DenverZ вне форума Посмотреть профиль Отправить личное сообщение для DenverZ Найти все сообщения от DenverZ
  № 3  
Ответить с цитированием
DenverZ

Регистрация: May 2010
Сообщений: 59
чет не получается

Код AS3:
var mc:Class = getDefinitionByName(xmlData.enemy[0].name) as Class;
Код:
ReferenceError: Error #1065: Переменная Enemy_1_1 не определена.
	at global/flash.utils::getDefinitionByName()
	at classes::Enemy/addEnemy()
	at classes::Enemy/createEnemy()
	at Main/enterFrame()
Enemy_1_1 - это непосредственно класс присвоенный символу, который соответственно берется из XML (текст)

Добавлено через 12 минут
так помоему дело в том, что символы, а соответственно их классы принадлежат к главному классу? т.е. это я пытаюсь вызвать все из другого класса...

как быть в таком случае?

Добавлено через 35 минут
вообщем вот так:
Код AS3:
var classRef:Class = getDefinitionByName("Enemy_1_1") as Class;
выдает ошибку:
Код:
ReferenceError: Error #1065: Переменная Enemy_1_1 не определена.
	at global/flash.utils::getDefinitionByName()
	at classes::Enemy/addEnemy()
	at classes::Enemy/createEnemy()
	at Main/enterFrame()
а вот так:
Код AS3:
var mc:Enemy_1_1 = new Enemy_1_1();
trace(mc);
все ок
[object Enemy_1_1]

где грабли? :-)

Добавлено через 50 минут
Разобрался
надо у каждого символа в библиотеке поставить экспорт в кадр 1 (я там галочку убирал, хз зачем) и тогда все работает :-)

2wvxvw спасибо за наводку :-)


Последний раз редактировалось wvxvw; 28.05.2010 в 15:44.
Старый 28.05.2010, 04:41
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Незачто, и еще, есть два важных момента:
- имя класса должно быть полным (т.е. если класс в пакете "foo", то нужно именно "foo.MyClass") использовать.
- нужно чтобы были ссылки на используемые классы (иначе они не скомпилируются), т.е. закликнув галку, вы тем самым сказали компилятору, что класс из библиотеки нужно скомпилировать, то же самое произошло бы, если бы вы его вытащили на сцену, например.

Да, и, пожалуйста, оформляйте код используя соответствующии BBcod'ы.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 28.05.2010 в 15:46.
Старый 28.05.2010, 06:21
DenverZ вне форума Посмотреть профиль Отправить личное сообщение для DenverZ Найти все сообщения от DenverZ
  № 5  
Ответить с цитированием
DenverZ

Регистрация: May 2010
Сообщений: 59
оки спасибо учту

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

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

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


 


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


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