Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как конвертировать array to ...args (http://www.flasher.ru/forum/showthread.php?t=177369)

Андрей911 30.03.2012 14:52

Как конвертировать array to ...args
 
Добрый день.
Начал писать игру для Одноклассников. И на данном историческом этапе пытаюсь разобраться со всеми методами их API и структуре объектов в которых выдаются результаты.
Сделал себе небольшую флешку в которой можно ввести с клавиатуры имя метода и параметры, а она его выполнит и покажет результат.

Функции у них всего 2.
Код AS3:

Odnoklassniki.callRestApi('method', callback:Function, params:Object);//схематично
 
Odnoklassniki.call('method', ...args);

То есть надо преобразовать строку в объект (в первом случае) и в ...args (во втором) С первым загвозок не возникло, а вот как сделать из строки произвольное число аргументов не знаю. Подскажите:)

Код такой

Код AS3:

 
function callRestApiResponse(e:MouseEvent){
        Odnoklassniki.callRestApi(method_txt.text, TO, params_txt.text==''? null: JSON.parse(params_txt.text));
}
 
function callResponse(e:MouseEvent){
        Odnoklassniki.call(method_txt.text/*??? Как конвертировать array to ...args*/);
}
 
function TO(_data:Object){
        txt.appendText('\n'+JSON.stringify(_data));
}

Добавлено через 4 минуты
[IMG]http://s019.***********/i607/1203/9d/63c3bbd821f5.jpg[/IMG]

Inet_PC 30.03.2012 15:03

Ну приблизительно так:
Код AS3:

Odnoklassniki.call.apply(null, [method_txt.text].concat(argsArray));


Genzo 30.03.2012 15:04

Попробуйте
Код AS3:

var array:Array = ['method' /*другие параметры*/];
Odnoklassniki.call.apply(null ,array);


MikroAcse 30.03.2012 15:35

Код AS3:

YourFunction.apply(null, yourArgsArray);

Например:
Код AS3:

var array:Array=[10,10,50];
graphics.beginFill(0xFF0000);
graphics.drawCircle.apply(null, array);


Андрей911 30.03.2012 16:21

Спасибо. Это как раз, то что нужно


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

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