![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2002
Адрес: Ростов-на_Дону
Сообщений: 542
|
Как кусок кода, вложенный в переменную как "строка", заставить исполниться? В глобале это означает - может ли ActionScript в момент выполнения менять свой код? Я пробовал eval(eto); - но, увы - не фунциклирует. Хотя в окне Output при выводе переменных - показывает правильно. Речь о 5Flash.
![]() |
|
|||||
|
Зачем ?
![]() |
|
|||||
|
"inLove"
Регистрация: Feb 2001
Адрес: Moscow - Yerevan
Сообщений: 814
|
все пашет...
например для этого: eval("_root."+NewName+".url")=url; //не пашет в MX хотя можно и так написать: set("_root."+NewName+".url",url); //пашет в MX да во многих вещях это можно применить... |
|
|||||
|
Регистрация: May 2002
Адрес: Ростов-на_Дону
Сообщений: 542
|
2 Armen Khanoyants
Я имел ввиду не сохранение в переменной значения другой переменной, или конкаткнации значения и имени, а именно части исполняемого кода, прим. qwe ="with(asdf){gotoAndPlay(2);}"; // а потом eval(qwe); // что я думал будет равносильно: with(asdf){gotoAndPlay(2); но почему-то не работает. Как написать, что-бы заработало? |
|
|||||
|
Мастер Цифрового Облика
|
ОФФТОП
кто вас всех, нафих, научил в левой части выражения писать EVAL ? есть же this[], вот его и юзать нуно. |
|
|||||
|
Мастер Цифрового Облика
|
2uri-uri вишь ли какая хитрость...
ты хочешь запихать в текстовую внешнюю строку название функции вместе с аргументами... а тут заморочка такая, что они (твои функции) инициализировываются во время компиляции кода... но выход хитрый все же есть... хэндлер (т.б имя) функции можно выносить за пределы флэша... допустим есть файл text.txt в нем: txt=_root.gotoAndStop:2 и есть флэшка с двумя кадрами в руте (в первом stop();) и с мувиком, а на нем код: onClipEvent (load) { this.loadVariables("text.txt") } onClipEvent (data) { trace(txt) a = txt.split(":")[0] b = txt.split(":")[1] this[[a](b)]; } ЗЫ: как грится - "разделяй и юзай!" (Юлий Цезарь) Последний раз редактировалось УильямБрэдберри; 07.05.2002 в 14:01. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
2УильямБрэдберри
угу... Целый Юзарь... ![]() только вопрос был чуть-чуть не в этом мне кажется... 2uri-uri с методами объекта все пройдет на ура: пишем например любой_муви_клип[название_метода](параметры_функции); ...то есть обычное обращение к ассоциативному массиву ![]() другое дело если пытаться запустить (скомпилировать по сути) код в процессе выполнения программы (что пытался сделать автор темы)... во флэше это невозможно... это вам не document.write(...) которым можно скрипт набить находу (джаваскрипт-то вообще _не компилируется_ в отличие от ActionScrip'а)... ![]() Последний раз редактировалось Nox Noctis; 07.05.2002 в 15:14. |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Можно... все. Но сложно. И не стоит. Хотя. Интереса ради. Все таки можно.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
![]() уж проще (наверное ) выдрать компилятор из флэша и положить его рядом с эсвээфником, а потом фскоммандой передавать ему строку, которую надо откомпилировать...мм... или через фласм это как-то завернуть ?.. зы: но все это напоминает высокоинтеллектуальный процесс забивания гвоздей микроскопом... Последний раз редактировалось Nox Noctis; 07.05.2002 в 16:44. |
|
|||||
|
А что? Я когда-то пытался сделать язык программирования во Флэш. Что-то вроде доисторического КуМир-а
Но так и не предумал как сделать чтобыstr="function proba(a){ trace(a); }"; eval(str); proba("проба"); получалось ![]()
__________________
In nomine Dei nostri satanas luciferi exclesi! |
![]() |
Часовой пояс GMT +4, время: 10:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|