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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.06.2005, 18:49
Sem3D вне форума Посмотреть профиль Отправить личное сообщение для Sem3D Посетить домашнюю страницу Sem3D Найти все сообщения от Sem3D
  № 1  
Ответить с цитированием
Sem3D
[+4 08.02.08]
 
Аватар для Sem3D

Регистрация: Jun 2005
Адрес: Russia, Samara
Сообщений: 82
Отправить сообщение для Sem3D с помощью ICQ
По умолчанию преобразование текста в объект.

Как можно (и можно ли) преобразовать текст в объект?
Например:
Есть объект DinamicText c именем "MyText1".
Есть текстовая переменная MyName.
Можно ли сделать типа такого:
var MyName = "MyText1";
MyObj = MyName; // ???
MyObj.text = "Мой текст";
MyObj._x = 100;

Т.е. в текстовую переменную заношу имя реального объекта,
а потом с ним делаю что мне нужно.

Может есть другой вариант?
Мне нужно, чтобы можно было работать только с одним объектом (MyObj),
название которого я беру из текстовой переменной MyName.

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

Регистрация: Feb 2002
Адрес: Ростов-на-Дону
Сообщений: 56
Отправить сообщение для fiza с помощью ICQ
MyObj = eval(MyName);

Старый 20.06.2005, 20:30
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
MyObj = this[MyName];

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

Регистрация: Feb 2002
Адрес: Ростов-на-Дону
Сообщений: 56
Отправить сообщение для fiza с помощью ICQ
а вдруг не this а _level0.mamaDorogaya.rodiMenyaObratno ?

Старый 20.06.2005, 20:58
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
тогда беда..
или _level0.mamaDorogaya.rodiMenyaObratno[MyName]
зы: к eval сложилось какое-то негативное отношение, почему, правда, не могу до сих пор понять..


Последний раз редактировалось silin; 20.06.2005 в 21:05.
Старый 20.06.2005, 21:09
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 6  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
ивал это деректива компилятора, которая зверски все это дело тормозит.
вобщем ее лучше не юзать если не припрет.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 20.06.2005, 21:44
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
хотелось все же понять какое дело директива компилятора может зверски тормозить
к слову, тесты показывают примерно одинаковую скорость доступа через eval и []
Код:
this.createEmptyMovieClip("myMc",0)
for(var i=10000,t=getTimer();i--; )eval("myMc").x=i;
trace(getTimer()-t);//100,103,99
for(var i=10000,t=getTimer();i--; )this["myMc"].x=i;
trace(getTimer()-t);//106,108,107

Старый 20.06.2005, 21:47
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
я на паре сайтов, видел бенчмарки где ивал уступал, но сам не проводил, вроде одна статья даже на русском была

а насчет деректива и тормоза, я не строил цепочек, наверное не так высказался, просто использовать дерективы в рантайме, кажеться чуть чуть извратом.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 20.06.2005, 22:13
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 9  
Ответить с цитированием
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Сообщение от Nirth
ивал это деректива компилятора, которая зверски все это дело тормозит.
вобщем ее лучше не юзать если не припрет.
У Гурского с точностью до наоборот:
"Выигрыш в производительности можно получить, если использовать для переопределения переменных и свойств предложение set, а для чтения их значений – функцию eval()...."

Старый 20.06.2005, 22:17
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 10  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
О вспомнил где статью на русском видел
http://www.initclip.com/articles/0000004/
Цитата:
Самый громоздкий доступ выполняется через команду "eval()". Эта функция позволяет на лету по строковому имени создавать доступ к любым переменным (объектам, клипам и т.д.), что требует достаточно много времени. Поэтому даже самый оптимально написанный код с eval() всегда будет около двух раз уступать по производительности доступу через массив или точку, поэтому последний хорошая ему альтернатива. Это относится и для применения команд set, get, setProperty, getProperty - выполнение которых занимает довольно много времени. В связи с этим рекомендуется отказаться или максимально ограничить использование таких функций в коде и пользоваться исключительно доступом через точку.
и в догонку
Цитата:
Доступ через массив - _root["test_mc"], равнозначен "dot"-нотации по скорости выполнения.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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