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

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

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

Регистрация: Jun 2008
Сообщений: 16
По умолчанию передача параметров через SWFObject

суть дела в следующем, нужно передать переменную из JS в AS2.

данные во флэш передаются SWFObject`ом:
Код:
var flashvars = {
  test1: "тестовое сообщение",
  test2: "второе тестовое сообщение"
};
есть кнопка, при клике по которой вызывается функция:
Код:
 function sendmyvars() {
thisMovie('flash').nameofmetod(flashvars.test1);
 }
далее идём во флэш:
Код AS1/AS2:
import flash.external.*;
var methodName:String = "nameofmetod";
var instance:Object = null;
var method:Function = funcname;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method);
function funcname() {
		_root.createTextField("mytext", 1, 80, 20, 100, 20);
		mytext.text = test1;
}
это всё идеально работает, в текстовом поле флешки появляется "тестовое сообщение", вопрос вот в чём.. если мне понадобится вывести test2, то придётся переписывать код as2.. как этого избежать? т.е. нужно, чтобы test1 в
Код AS1/AS2:
mytext.text = test1;
не самому надо было прописывать, а каким-то образом автоматически бралось из
Код:
thisMovie('flash').nameofmetod(flashvars.test1);
и само название текстового поля, чтобы было не мною написанное "mytext", а автоматом из JS присваивалось "text1"..

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

Старый 19.11.2008, 08:55
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Так передавайте имя текстового поля из JS. Как-нибудь так
Код:
function sendmyvars() {
thisMovie('flash').nameofmetod("тестовое сообщение", "mytext");
 }
Код AS1/AS2:
import flash.external.*;
var methodName:String = "nameofmetod";
var instance:Object = null;
var method:Function = funcname;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method);
function funcname(str:String, tfName:String) {
		_root.createTextField(tfName, 1, 80, 20, 100, 20);
		_root[tfName].text = test1;
}

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

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

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


 


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


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