Войти
ПрограммированиеФорумОбщее

Смена экранов игры (комментарии)

Страницы: 1 2 39 10 Следующая »
#0
5:35, 24 янв. 2013

Смена экранов игры (комментарии)

Это сообщение сгенерировано автоматически.

#1
5:35, 24 янв. 2013

апну ка я статью раз не хотят публиковать, мож кому пригодится, не зря же ее писал.

Кроме того переписал часть текста чтобы лучше читалось (надеюсь)

#2
10:18, 24 янв. 2013

Посмотри на GameStateManagment из семплов XNA. Ваш вариант например не поддерживает переходы между экранами.

#3
13:05, 24 янв. 2013

war_zes
> Смена экранов игры (комментарии)
Неужеле ктото реально делает WallOfSwitch ?

В методе init нет никакого смысла - для этого есть конструктор обьекта.
При смене "модулей" на место старого можно сразу втыкать новый, а у старого запускать уничтожение в отдельном потоке чтобы время зря не тратить.
Также в нем нету поддержки сохранения\загрузки состояния модуля.

Вообще статья будет полезна разве что тем кто только начал изучать ООП и им нужен хороший пример:)

#4
13:07, 24 янв. 2013

war_zes

Открой для себя КА

#5
13:15, 24 янв. 2013

Mephistopheles
> Неужеле ктото реально делает WallOfSwitch ?
Тут в соседней теме чел спросил как сделать мейнлуп, ему написали свитч

Mephistopheles
> В методе init нет никакого смысла - для этого есть конструктор обьекта.
Сами модули не уничтожаются (ну у меня точно, но этого требует архитектура, у меня существуют все модули, а вот активный один). А так, это пример, можно и в конструкторы

innuendo
> Открой для себя КА
Это еще что за сокращение?

#6
13:17, 24 янв. 2013

war_zes
> > Открой для себя КА
> Это еще что за сокращение?

FSM

#7
16:27, 24 янв. 2013

Mephistopheles
> Неужеле ктото реально делает WallOfSwitch ?
Это достаточно эффективное решение, когда у тебя допустим 3 вида экранов (меню, игра, и геймовер), лучше сделать свич на 10 строк, чем колотить простыню говноклассов, пытаясь сделать РАСШИРЯЕМО и чтоб ОРХЕТЕКТУРА.

#8
18:13, 24 янв. 2013

kvakvs
> когда у тебя допустим 3 вида экранов (меню, игра, и геймовер)
не кажется что 3 както маловато для стены из кейсов?

kvakvs
> пытаясь сделать РАСШИРЯЕМО и чтоб ОРХЕТЕКТУРА.
Ну если для тебя написание нормальной архитектуры - пытка, то ты выбрал не ту профессию

#9
19:07, 24 янв. 2013

  Приделать бы диаграмму классов (например, такую) и активностей цены бы статье не было. Это в десять раз сократит время врубания в материал и код уже почти не нужен. А то да, первым делом при программировании на С++ новички ни о чём кроме стены свитчей думать не могут.

#10
19:43, 24 янв. 2013

Zefick
> Приделать бы диаграмму классов (например, такую) и активностей цены бы статье
> не было. Это в десять раз сократит время врубания в материал и код уже почти не
> нужен.
+1. Одного взгляда на картинку мне хватило, чтоб понять о чем речь в статье, а в коде разбираться было лень.

#11
20:11, 24 янв. 2013

Mephistopheles
>Ну если для тебя написание нормальной архитектуры - пытка, то ты выбрал не ту профессию
Ты великий программист коль любишь стрелять из пушки по воробьям. )

#12
20:23, 24 янв. 2013

Блин, а у меня все по-другому реализовано...

Есть SceneManager c тремя функциями.
- подгрузить асинхронно ресурсы для сцены с ID + каллбэк
- создать сцену с ID + каллбэк
- запустить сцену.

Сам базовый класс сцены содержит в себе функцию для возврата NSArray * ресурсов, + функции создания / удаления объектов + по мелочи.

Работает на дрюшлом кокосе (переключение сцен в самом двиге сделано через фекальное место) - но работает как часы. Захотели сделать экран загрузки - легко встроить.


Как это работает?
Захотели мы при нажатии кнопки перейти на другую сцену - вызываем анимацию фейда текущей сцены, параллельно грузим ресурсы экрана загрузки.
По завершении загрузки вызывается каллбэк c показом SceneLoading, в экране загрузки есть поле - сцену с каким  ID  грузить следующей.
Соответственно при показе сцене loading начинаем грузить ресурсы следующей сцены, по завершении ее показываем.

Разумеется присутствует поле свитчей - какую сцену грузим по ID.

#13
20:46, 24 янв. 2013

CasDev
В Obj-C вообще халява, там уже есть NavigationController ничего больше придумывать не нужно )

#14
23:26, 24 янв. 2013

Mephistopheles
> Ну если для тебя написание нормальной архитектуры - пытка, то ты выбрал не ту
> профессию
Архитектура немного не в том месте делается ;)
Ряд кейсов это всего-лишь ряд кейсов, простой, управляемый, понятный.
И да, у меня с профориентацией всё в порядке.

Страницы: 1 2 39 10 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.