Динамические переменные в ActionScript 3.0 - PullRequest
0 голосов
/ 20 июня 2009

итак .... eval () не может быть и речи, есть идеи сделать это? Я также не знаю, как использовать «this» выражение или set () в actionscript 3 (мне кажется, я не могу найти на него полную ссылку), просто с помощью php-файла скажем несколько переменных (test1, test2, test3 ,. ..) послал "эхо", как приложение флеш получил его? Я пытаюсь не использовать XML на MySQL для PHP, чтобы прошить приложение. Просто как заменить строку на переменную?

пример

(в рамке панели as3-actions)

function datagridfill(event:MouseEvent):void{
   var varfill:URLVariables = new URLVariables();
   varfill.tell = "do it";
   var filler:URLRequest = new URLRequest();
   filler.url = "http://127.0.0.1/flashdbas3/sendin.php";
   filler.data = varfill;
   var filling:URLLoader = new URLLoader();
   filling.dataFormat = URLLoaderDataFormat.VARIABLES;
   filling.load(filler);
   filling.addEventListener(Event.COMPLETE, datain);

   function datain(evt:Event){
      var arraygrid:Array = new Array();
      testing.text = evt.target.Name2 // worked
      // just say i = 1
      i=1;
      arraygrid.push({Name:this["evt.target.Name"+i],
                      Test:this.["evt.target.Test"+i]}); // error
      //or
      arraygrid.push({Name:this["Name"+i],
                      Test:this.["Test"+i]}); // error too
      // eval() noexistent, set() didn't worked on actions frame panel
      //?????
   }   
};

Надеюсь, это очень ясно.

Ответы [ 2 ]

3 голосов
/ 20 июня 2009

Вы можете использовать это [varName], если я правильно понял ваш вопрос.

Таким образом, если varName является переменной, содержащей строку, которая должна быть именем переменной, вы можете установить и прочитать эту переменную следующим образом:

this[varName] = "someValue";
trace(this[varName]);

Обновление:

В вашем примере вы можете попробовать: evt.target ["Test" + i] вместо Test: this. ["Evt.target.Test" + i]

0 голосов
/ 20 июня 2009

Если у вас есть набор строк, которые вы хотите связать со значениями, стандартный подход AS3 заключается в использовании объекта в качестве хеш-таблицы:

var o = {}
o["test1"] = 7
o["test2"] = "fish"
print(o["test1"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...