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

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

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

Регистрация: Mar 2011
Сообщений: 243
По умолчанию Проблемы с асинхронностью

Здравствуйте! помогите разобраться
Код:
public function move(r:int, c:int):Boolean
		{
			var vars:String = "test=0";
			var request:URLRequest = new URLRequest("api.php?"+vars);
			var loader:URLLoader = new URLLoader(); 
			loader.addEventListener(Event.COMPLETE, loaded);
			loader.load(request);
			
			//здесь будет обработчик и формироваться значение b
			return b;
		}
		public function loaded(event: Event):void 
		{
			var xmlMap: XML = XML(event.target.data);
		}
Подскажите пожалуйста, как вернуть значение после парсинга

Старый 25.03.2011, 14:30
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
сухо и жестко: "никак"

Старый 25.03.2011, 14:37
Deimos747 вне форума Посмотреть профиль Отправить личное сообщение для Deimos747 Найти все сообщения от Deimos747
  № 3  
Ответить с цитированием
Deimos747
 
Аватар для Deimos747

Регистрация: Mar 2011
Сообщений: 243
А каким образом тогда сделаны игры, в которых запрашивается у сервера, можно ли перейти на нужное поле?

Старый 25.03.2011, 14:40
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 4  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
асинхронно, через события

Старый 25.03.2011, 14:41
Deimos747 вне форума Посмотреть профиль Отправить личное сообщение для Deimos747 Найти все сообщения от Deimos747
  № 5  
Ответить с цитированием
Deimos747
 
Аватар для Deimos747

Регистрация: Mar 2011
Сообщений: 243
Не можете показать простенький пример?

Старый 25.03.2011, 14:43
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 6  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
вы его сами уже показали
Код AS3:
......	
	loader.addEventListener(Event.COMPLETE, loaded);
	loader.load(request);
}
public function loaded(event: Event):void 
{
	// TODO
}

Старый 25.03.2011, 14:48
Deimos747 вне форума Посмотреть профиль Отправить личное сообщение для Deimos747 Найти все сообщения от Deimos747
  № 7  
Ответить с цитированием
Deimos747
 
Аватар для Deimos747

Регистрация: Mar 2011
Сообщений: 243
Весь этот код хранится в классе api_php.as, и вызывается снаружи как:
Код:
var a:api_php=new api_php();
if (a.move(r,c))
{
//счастье
}
И я не могу понять как мне это использовать

Старый 25.03.2011, 14:49
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 8  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Event
EventDispatcher
EventDispatcher#dispatchEvent
help
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 25.03.2011, 18:37
Romanson вне форума Посмотреть профиль Отправить личное сообщение для Romanson Посетить домашнюю страницу Romanson Найти все сообщения от Romanson
  № 9  
Ответить с цитированием
Romanson
 
Аватар для Romanson

Регистрация: Apr 2008
Адрес: Мозг на высоте 178 см
Сообщений: 167
Отправить сообщение для Romanson с помощью Skype™
Код AS3:
//MAIN CLASS ***
...
var a:api_php = new api_php();
a.addEventListener(api_php.GET_REPLY, checkReply);
a.api_phpfunct();
a.move(r, c);
...
private function checkReply(e:event)
{
   if(a.b){
      //счастье
   }
}
 
 
//api_phpCLASS ***
public var b:Boolean;
public static var GET_REPLY:String = "getReply";
...
public function move(r:int, c:int):Boolean
{
   var vars:String = "test=0";
   var request:URLRequest = new URLRequest("api.php?"+vars);
   var loader:URLLoader = new URLLoader(); 
   loader.addEventListener(Event.COMPLETE, loaded);
   loader.load(request);
}
 
public function loaded(event: Event):void 
{
   var xmlMap:XML = XML(event.target.data);
 
   //здесь будет обработчик и формироваться значение b
 
   dispatchEvent(new Event(api_php.GET_REPLY));
}

Старый 25.03.2011, 19:35
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 10  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Можно тогда сразу разные события слать, например CANT_MOVE и MOVED вместо GET_REPLY.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

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

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


 


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


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