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

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

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

Регистрация: Aug 2013
Сообщений: 89
Attention использовать значение переменной как команду

Здравствуйте еще раз.Меня волнует вопрос.
Как использовать значение переменной как команду?
Например, дан код:

Код AS3:
var a1:String;
var a2:String;
a1="trace("Привет")";
a2="trace("2013")";
Если существует команда String(a1), то может быть есть и команда типа transformValueToComand(a1)?

Старый 24.08.2013, 23:49
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 2  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Мне кажется, что если вы и знаете какой то другой язык, то тут ваши знания стоят ноль.
По этому не нужно приводить примеры из непонятного лично мне языка. Можно конечно сказать, что есть те кто понимает, но вот отвечать они будут в последнею очередь и если вы хотите получить быстрый ответ - то говорите, что вам нужно!

Добавлено через 1 минуту
Что вы хотите сделать?

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

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

Старый 24.08.2013, 23:57
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 4  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Например, загрузить в рантайме текстовый документ и преобразовать его в исполняемый код))
Ой) немного перепутал)))

Добавлено через 1 минуту
я подумал, что автор о alert спрашивает.

Добавлено через 2 минуты
Хотя вот знания из js такой вопрос вряд ли вызвали.

Старый 25.08.2013, 00:02
UserSuperPupsik вне форума Посмотреть профиль Отправить личное сообщение для UserSuperPupsik Найти все сообщения от UserSuperPupsik
  № 5  
Ответить с цитированием
UserSuperPupsik

Регистрация: Aug 2013
Сообщений: 89
Смотрите, Akopalipsis, я изменил значение переменной a1 на trace("Привет");.
Теперь я хочу написать в любом месте кода a1, а компилятор должен выбрать значение переменной a1, т.е.
trace("Привет"); и выполнить его как команду!

Добавлено через 6 минут
Wolsh, Вы првы, значение переменной преобразовать в исполняемый код - вот что я хочу!

Старый 25.08.2013, 00:09
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 6  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Только самому распарсить.
Легче будет через регулярные выражения.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Это делается вот так
Код AS3:
var a1:Function = function():void { trace("Привет") };
//...
a1 = function():void { trace("116") };
//...
a1();
И не надо выдумывать. Флэшплеер не содержит в себе компилятор, потому и весит несколько мегабайт. SWF-файл не содержит в себе файлов .as, как Вы, возможно думаете. Он не содержит классы в виде текстов, мувиклипы в виде swf-файлов, и даже шрифты в виде файлов .ttf — компилятор преобразовывает все это в специальные форматы и байткод, понятный плееру. Проще говоря, буковки "trace()" ничего не говорят флэшплееру. Он вообще не понимает этого человеческого языка. У него нет механизма для чтения AS3-кода. Этим занимается многомногомегабайтный компилятор.
__________________
Reality.getBounds(this);

Старый 25.08.2013, 00:12
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
я вмешаюсь, так как знаю что вы делаете! я сомневаюсь, что Вам это нужно! ( это я про регулярные выражения да и про функции в качестве значения ).
Скажите, что именно Вы делаете, а не что хотите?

Добавлено через 2 минуты
Вы наверняка ведь хотите сделать, чтобы при нажатие на кнопку текст выводился?)

Старый 25.08.2013, 00:33
UserSuperPupsik вне форума Посмотреть профиль Отправить личное сообщение для UserSuperPupsik Найти все сообщения от UserSuperPupsik
  № 9  
Ответить с цитированием
UserSuperPupsik

Регистрация: Aug 2013
Сообщений: 89
Дорогой, Akopalipsis, я ценю Ваше стремление помочь, мне нужно немного другое, я хочу постичь возможности языка ActionScript 3, а вообще на данный момент проблема такая: хочу узнать имя контейнера:
например я положил в разные контейнеры круги:
container1.addChild(circle1);
container2.addChild(circle2);
Как же узнать имя контейнера для circle1?Может быть есть какая то функция типа getContainer(circle1)?

Добавлено через 7 минут
Уважаемый, Wolsh,
Код AS3:
var a1:Function = function():void { trace("Привет") };
//...
a1 = function():void { trace("116") };
//...
a1();
Это мне близко по духу, буду проверять подходит-не подходит, а так спасибо!

Старый 25.08.2013, 00:41
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 10  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Код AS3:
var con:Sprite = new Sprite();
con.name = '100con';
this.addChild(con);
var tf:TextField = new TextField();
con.addChild(tf);
trace(tf.parent.name);

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

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

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


 


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


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