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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 20.09.2001, 20:34
УильямБрэдберри вне форума Посмотреть профиль Отправить личное сообщение для УильямБрэдберри Посетить домашнюю страницу УильямБрэдберри Найти все сообщения от УильямБрэдберри
  № 1  
УильямБрэдберри
Мастер Цифрового Облика
 
Аватар для УильямБрэдберри

Регистрация: Apr 2000
Адрес: где-то там...
Сообщений: 4,510
Отправить сообщение для УильямБрэдберри с помощью AIM Отправить сообщение для УильямБрэдберри с помощью Yahoo
По умолчанию как вызвать уже имеющийся метод, но хитрым способом?

var funName=["a","b","trace"]

function a()
{
trace("a")
}
function b()
{
trace("b")
}


function a_b()
{
_root[funname[0]]();
_root[funname[1]]();
_root[funname[2]]();
}

0 и 1 работает, а вот 2 никак

запутался я чей-то

Старый 20.09.2001, 20:37
gOloVasTicK  '~ вне форума Посмотреть профиль Отправить личное сообщение для gOloVasTicK  '~ Посетить домашнюю страницу gOloVasTicK  '~ Найти все сообщения от gOloVasTicK  '~
  № 2  
gOloVasTicK '~
виртуальное земноводное
 
Аватар для gOloVasTicK  '~

Регистрация: Mar 2001
Адрес: на работе
Сообщений: 1,779
Отправить сообщение для gOloVasTicK  '~ с помощью ICQ Отправить сообщение для gOloVasTicK  '~ с помощью AIM Отправить сообщение для gOloVasTicK  '~ с помощью Yahoo
Дык а трейсить то чего? Ты ж флашу сказал _root.trace
__________________
Дешевый критикан

Старый 20.09.2001, 20:45
УильямБрэдберри вне форума Посмотреть профиль Отправить личное сообщение для УильямБрэдберри Посетить домашнюю страницу УильямБрэдберри Найти все сообщения от УильямБрэдберри
  № 3  
УильямБрэдберри
Мастер Цифрового Облика
 
Аватар для УильямБрэдберри

Регистрация: Apr 2000
Адрес: где-то там...
Сообщений: 4,510
Отправить сообщение для УильямБрэдберри с помощью AIM Отправить сообщение для УильямБрэдберри с помощью Yahoo
сорри
просто скопировал строки


funname[2]();

но все-рно не работает

хоть как мучаюсь

Старый 20.09.2001, 21:00
УильямБрэдберри вне форума Посмотреть профиль Отправить личное сообщение для УильямБрэдберри Посетить домашнюю страницу УильямБрэдберри Найти все сообщения от УильямБрэдберри
  № 4  
УильямБрэдберри
Мастер Цифрового Облика
 
Аватар для УильямБрэдберри

Регистрация: Apr 2000
Адрес: где-то там...
Сообщений: 4,510
Отправить сообщение для УильямБрэдберри с помощью AIM Отправить сообщение для УильямБрэдберри с помощью Yahoo
все,
просто непонятно чъим методом является трэйс
зато плэй и стоп работает.

а мне тока это и надо

всем пасибо.

ЗЫ: кто до трэйса докопается, тому отдельное спасибо =)

Старый 21.09.2001, 02:48
  № 5  
Suhoff
Guest

Сообщений: n/a
Нужно вызывать так - eval(funName[2])(), тогда должно работатать.
н.р. следующий фрагмент - работает:
foo="trace";
eval(foo)(foo);


Последний раз редактировалось Suhoff; 21.09.2001 в 02:52.
Старый 21.09.2001, 02:49
сочиNetz вне форума Посмотреть профиль Отправить личное сообщение для сочиNetz Посетить домашнюю страницу сочиNetz Найти все сообщения от сочиNetz
  № 6  
сочиNetz

Регистрация: Apr 2000
Адрес: Москва
Сообщений: 945
Отправить сообщение для сочиNetz с помощью ICQ
а по-моему дело в том, что трейс требует наличия параметра. Если сделать просто trace() флеш ругнется на тему того, что ф-ция requires exactly one parameter. Здесь параметров не передается.
Однако если сделать _root[funname[2]]('param') то тоже ничего не происходит.
Вывод: глюк реализации. Очередная недоработка объектной модели.

хехе.. однако нет. Если сделать
function a(par){trace(par)} a потом funname[0]('qwer'), выдаст qwer

Темный лес это ООП во флеше. Ну его в баню до выхода шестого
__________________
Фоторобот UltimateFlashFace: http://flashface.ctapt.de, Большой респект Артему Мельникову!


Последний раз редактировалось сочиNetz; 21.09.2001 в 02:53.
Старый 21.09.2001, 03:09
  № 7  
Suhoff
Guest

Сообщений: n/a
........ Да, кстати......
Чтобы вызвать функции более хитрым способом нужно сделать немного не так - а следующим образом:
.........
function a() {
......
};
function b() {
......
};
....
var funNum=[];
funNum[0]=eval("a");
funNum[1]=eval("b");
funNum[2]=eval("trace");
или, например :
funNum[3]=eval("Math.sin"); // или другие функции

тогда можно вызывать фунции так -
funNum[0]();
funNum[1]();
funNum[2](.......);
или н.р.
funNum[2](funNum[3](1)); !!!!!

и всё должно работать!!

Старый 21.09.2001, 03:46
УильямБрэдберри вне форума Посмотреть профиль Отправить личное сообщение для УильямБрэдберри Посетить домашнюю страницу УильямБрэдберри Найти все сообщения от УильямБрэдберри
  № 8  
УильямБрэдберри
Мастер Цифрового Облика
 
Аватар для УильямБрэдберри

Регистрация: Apr 2000
Адрес: где-то там...
Сообщений: 4,510
Отправить сообщение для УильямБрэдберри с помощью AIM Отправить сообщение для УильямБрэдберри с помощью Yahoo
Пасиб =)

foo="trace";
eval(foo)("YO");

работает, вот, блин гадство.
ненавижу евалом пользоваться

Старый 22.09.2001, 01:13
  № 9  
Suhoff
Guest

Сообщений: n/a

Если ненавидишь пользоваться eval-ом, то можно обойтись и без него..
Пишешь -

foo=trace;
foo("YO");

- тоже работает!!
Удачи!

Старый 05.12.2001, 18:07
[subway]design вне форума Посмотреть профиль Отправить личное сообщение для [subway]design Посетить домашнюю страницу [subway]design Найти все сообщения от [subway]design
  № 10  
[subway]design
 
Аватар для [subway]design

Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
может, кто-то мне объяснит, почему евал() всем так не нравится? Ответ "не модно" не катит...

Мне лично нравится, всегда им пользуюсь.
__________________
subway.net.ru

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

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

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


 


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


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