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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.04.2013, 10:19
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 11  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Ну, я бы сделал вот так (код писал прямо на форуме, не ручаюсь что работает):
Код AS3:
class AbstractStep extends Sprite {
public static const GAME_SCREEN:String = 'gameScreen';
public static const LOAD_SCREEN:String = 'loadScreen';
protected function gotoScreen(screenName):void{
//вызываем на рассылку собственное событие, внутри передаем screenName
dispatchEvent(new MyEvent(MyEvent.CHANGE_SCREEN, screenName));
}
}
Классы наследуются от AbstractStep.
Код AS3:
class Game extends AbstractStep
Когда нужно перейти на другой экран, то дёргается метод AbstractStep'а.
Т.е. внутри Game, например:
Код AS3:
gotoScreen(LOAD_SCREEN);
А в Main:
Код AS3:
private var _currentScreen:AbstractScreen;
private var _hash:Object ={}
public function Main(){
//присваиваем классы
_hash[AbstractScreen.GAME] = Game;
_hash[AbstractScreen.LOAD_SCREEN] = LoadScreen; 
_currentScreen = new Game();
addChild(_currentScreen);
_currentScreen.addEventListener(MyEvent.CHANGE_SCREEN, onScreenChanged);
}
 
private function onScreenChanged(event:MyEvent):void{
_currentScreen.removeEventListener(MyEvent.CHANGE_SCREEN, onScreenChanged);
removeChild(_currentScreen);
_currentScreen = _hash[event.screenName]();
addChild(_currentScreen);
_currentScreen.addEventListener(MyEvent.CHANGE_SCREEN, onScreenChanged);
}

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Также, при выходе из класса Game как я скажу классу Main чтоб он обнулил класс Game и запустил класс Menu? Хм... По идее Main слушает все классы, но я не пойму как сделать прослушивание не покадрово, не с какой-то переодичностью типа таймера, а чтоб память не засорялась. Т.е. чтоб прослушка не была ежесекундной к примеру, а чтоб Game сказал классу Main что игра окончилась и все, а не было постоянной проверки окончилась ли игра, в игре ведь и так расчетов много очень, нефиг проц грузить.
События. Main слушает событие GameEvent.GAME_OVER от Game. Тот посылает это событие, когда игра закончилась. Мейн ловит его, обнуляет игру и показывает меню.
И так со всем.
__________________
Reality.getBounds(this);

Старый 13.04.2013, 15:19
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 13  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Psycho Tiger,
var xml=<screens>
<screen id="1" name="gameScreen"/>
<screen id="2" name="loadScreen"/>
</screens>
var screen:XMLList=xml.screen.(@id=='1').

Старый 13.04.2013, 15:27
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 14  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Babylon - действительно зачем придумывать архитектуры разные, паттерны проектирования и т.п. - когда есть xml - который можно пихнуть отовсюду... ужос
__________________
Марк Tween

Старый 13.04.2013, 15:31
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 15  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
В чем противоречия между ПП и Xml? Если XML относится к модели, чем плохо?

Старый 13.04.2013, 15:34
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 16  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Ну причем тут вообще хмл как таковой? Хмл - если вы вкурсе - язык разметки. Тоесть отдельный язык так сказать. As3 - язык. Никто не против совмещать 2 языка, и это приходится делать в ряде стандартов, но не стоит в любую кашу сувать другой язык. Я могу поддержать вас только в том, что это ваша фича ( или баг хД) - что никто так не делает собственно.
хмл он для чего нужен по сути? для удобства работы с данными, которые переданы из вне. Будь это конфиг или локализатор.
__________________
Марк Tween

Старый 13.04.2013, 15:45
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 17  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
хмл он для чего нужен по сути? для удобства работы с данными, которые переданы из вне. Будь это конфиг или локализатор.
Совсем нет. Я частенько использую XML вшитый в программу. Просто потому что это удобный формат хранения данных, с простой и понятной структурой

Старый 13.04.2013, 16:00
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 18  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
XML - язык разметки только для веб дизайнеров, а для кодеров это не что другое. Для некоторых конечно нет ничего хорошего в разметке модели, рендеринге видов и внешнем коммандере

Старый 13.04.2013, 17:59
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 19  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
С xml работать впринципе можно как с быстрым промежуточным вариантом, но только если следовать правилу: изменять его только через методы и сеттеры соотвтетствующего объекта-хранителей этого XML.
Тогда не сложно будет в случае необходимости перейти на более формализованную структуру.
__________________
...

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

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Xml избыточен
__________________
местонахождение

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

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

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


 


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


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