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

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

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

Регистрация: Sep 2003
Сообщений: 5
По умолчанию Вызов функций ActionScript из JavaScript


Нутром чую, что задаю очевидный вопрос, но всё-таки:
каким образом можно экспортировать из мувика функцию и поюзать ее из джаваскрипта?
Пока я додумался, только делать SetVariable, а в watch на нее делать то, что требуется, но что-то это уж очень криво...

Старый 09.09.2003, 02:15
Eprinter вне форума Посмотреть профиль Отправить личное сообщение для Eprinter Найти все сообщения от Eprinter
  № 2  
Eprinter
 
Аватар для Eprinter

Регистрация: Jul 2003
Адрес: Vladivostok
Сообщений: 25
На этом сайте есть урок от УильямБрэдберри, там все популярно расписано

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

Регистрация: Sep 2003
Сообщений: 5
Не, в эту-то сторону я понял - мне нужно наоборот AS-функции вызывать из JS. То есть у меня на странице есть flash-овый объект, и вот когда я нажимаю html-ную кнопку, я его показываю (ну, это из JS) и хочу вызвать его функцию (load-что-то-там). Пока единственный способ, которым я смог что-то подобное получить - это делать для мувика setVariable для передачи параметров и потом (вот изврат-то) setVariable для вызова watch на него (например, setVariable('initial_connect') и внутри на изменение этой переменной коннекчусь) - ну очень криво выходит

Старый 10.09.2003, 18:29
Sandor вне форума Посмотреть профиль Отправить личное сообщение для Sandor Найти все сообщения от Sandor
  № 4  
Sandor
 
Аватар для Sandor

Регистрация: Sep 2003
Сообщений: 5
Вот пара ссылок по теме:
http://www.xs4all.nl/~ppk/js/flash_call.html
http://www.darkbackward.com/flashMAC/MACtalk.zip - какой-то хитрый пример

Здесь http://macrofun.pvpers.com/archives/000035.html товарищ тоже предлагает

вызывать функции через setVariable (приятно, когда сам додумываешься до правильного решения),

однако не очень онятно как это он через одну переменную передает несколько параметров, так как

даже массивы передаются как одна строка.

По мотивам его исходников я пришел вот к чему:

javascript:

Код:
function CallFlash(function_name, parameters)
{
	var movie = document.all('EditorMovie');
	movie.setVariable('_root.function_params', parameters);
	movie.setVariable('execute_function', function_name);
}
Flash:

Код:
this.watch("execute_function", ExecFunction);

function TestFunc(s, x)
{
	_root.Log.text = 'In the test: S=' + s + ', X=' + x;
}


function ExecFunction(prop, oldval, newval, userData)
{
	//eval(newval + '(' + _root.function_params + ')');
	eval(newval)(_root.function_params);
	_root.function_params = null;
}
Вот, в закомментированной строчке я ожидал, что eval работает как в JS, однако он только объекты

по имени возвращает. А то можено было бы сделать, скажем, CallFlash('TestFunc', '"Some Text",

117'); К сожалению распарсить строку по отдельным переменным, видимо, нельзя, а массивы

собираются точно в такую же строку.

Есть у кого-нибудь мысли по этому поводу?

Старый 10.09.2003, 21:37
Sandor вне форума Посмотреть профиль Отправить личное сообщение для Sandor Найти все сообщения от Sandor
  № 5  
Sandor
 
Аватар для Sandor

Регистрация: Sep 2003
Сообщений: 5
Попробую сформулировать-таки вопрос:

Как бы так передавать параметры из JS в AS одной строкой или еще какой структурой, так чтобы на стороне AS их разобрать можно было по переменным?

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

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

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


 


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


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