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

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

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

Регистрация: Jul 2005
Сообщений: 135
По умолчанию Обертка для NetConnection.call

Как передать в call параметры, которые переданы в send?

Код AS3:
public function send(command:String, ...parameters):void {
	call(command, responder, parameters);
}
При передаче в send более одного parameters AMFPHP ругается что "Missing argument 2", то есть получается что call принимает parameters как один аргумент.
__________________
хоумпага

Старый 02.01.2009, 14:15
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
parameters - массив, поэтому оно и принимает их как один аргумент.
Используйте Function.apply
Код AS3:
public function send(command:String, ...parameters):void {
	call.apply(this,[command, responder].concat(parameters));
}
__________________
4am is time to rock


Последний раз редактировалось DarkLight; 02.01.2009 в 18:17.
Старый 02.01.2009, 18:16
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 3  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
так мне кажется красивше:
Код AS3:
public function send(command:String, ...parameters):void {
        parameters.unshift( command, responder );
	call.apply( this, parameters );
}

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

Регистрация: Jul 2005
Сообщений: 135
BlooDHounD, не только красивше, но и быстрее в три раза
Код AS3:
var len:uint = 1000000;
 
var command:String = "qwe";
var responder:Responder = new Responder(function(e:Object):void{});
 
var time:int;
var i:uint;
 
time = getTimer();
for (i=0; i<len; i++) {
	([command, responder]).concat([1, 1, "qweqweqweqweqwe"]);
}
trace(getTimer() - time)
 
time = getTimer();
for (i=0; i<len; i++) {
	([1, 1, "qweqweqweqweqwe"]).unshift(command, responder);
}
trace(getTimer() - time)
__________________
хоумпага

Старый 02.01.2009, 19:15
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 5  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Ну логично что быстрее) новый массив не создается) Просто я более короткий вариант написал)
__________________
4am is time to rock

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

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

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


 


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


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