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

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

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

Регистрация: Oct 2006
Сообщений: 6
По умолчанию Синхронность действий

Задумал сделать мини-игру на Flash, почитал пару книг, статей. Понял, что асинхронность некоторых действий происходит на автоматике, например метод “play()”, и организовать синхронность в таких методах (когда это необходимо) в виде замков (как например в C) нельзя, потому что замков как таковых просто нет.

А теперь собственно ситуация:

Имеется xml-документ, в нем храниться лог боя, а именно действия: номер действия, имя атакующего, защищающегося и нанесенный урон:
Код:
<BATTLE>
…
<ACTION act=”1” atk=”n1” dfn=”n2” dmg=”15”/>
<ACTION act=”2” atk=”n1” dfn=”n2” dmg=”10”/>
…
<ACTION act=”10” atk=”n2” dfn=”n1” dmg=”20”/>
</BATTLE>
Загружаю я xml-документ, добираюсь до тегов <ACTION> и начинается самое интересное: я отдаю команду мувиклипу на проигрывание “n1.play()” соответственно, так как метод асинхронный, то передается управление в тот блок кода, который собственно вызвал “n1.play()”, и соответственно я уже добираюсь до второго действия, начинается проигрываться “n1.play()” (во второй раз), но первое действие еще не закончилось, а цикл уже пошел выдавать второе, а потом третье и т.д.

Вопрос собственно такой, как мне дождаться полного проигрывания первого действия, и только потом перейти ко второму, а потом к третьему и т.д.?

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

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

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


 


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


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