alex163
19.11.2008, 02:14
суть дела в следующем, нужно передать переменную из JS в AS2.
данные во флэш передаются SWFObject`ом:
var flashvars = {
test1: "тестовое сообщение",
test2: "второе тестовое сообщение"
};
есть кнопка, при клике по которой вызывается функция:
function sendmyvars() {
thisMovie('flash').nameofmetod(flashvars.test1);
}
далее идём во флэш:
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 в
mytext.text = test1;
не самому надо было прописывать, а каким-то образом автоматически бралось из
thisMovie('flash').nameofmetod(flashvars.test1);
и само название текстового поля, чтобы было не мною написанное "mytext", а автоматом из JS присваивалось "text1"..
надеюсь, понятно изложил суть..
заранее всем спасибо.
данные во флэш передаются SWFObject`ом:
var flashvars = {
test1: "тестовое сообщение",
test2: "второе тестовое сообщение"
};
есть кнопка, при клике по которой вызывается функция:
function sendmyvars() {
thisMovie('flash').nameofmetod(flashvars.test1);
}
далее идём во флэш:
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 в
mytext.text = test1;
не самому надо было прописывать, а каким-то образом автоматически бралось из
thisMovie('flash').nameofmetod(flashvars.test1);
и само название текстового поля, чтобы было не мною написанное "mytext", а автоматом из JS присваивалось "text1"..
надеюсь, понятно изложил суть..
заранее всем спасибо.