
Фабричный метод

В этой статье я кратко расскажу о таком порождающем паттерне проектирования как «фабричный метод», а также приведу пример того, где его можно использовать касательно игр.
Читать дальше →
- +11
- NightmareZ
- 21

Паттерн Singleton
А давайте расскажу интересное — про паттерн проектирования Синглтон. Кто-то знает и пользуется, а кому-то вдруг и пригодится.

Согласно одному из определений, паттерн проектирования — это пример наиболее удачного проектного решения в области объектно-ориентированного программирования, описание взаимодействия объектов и классов для решения стандартной задачи проектирования. Другими словами — это наиболее удачный подход к построению структуры классов и взаимосвязи между ними для решения некой стандартной задачи в проектировании программы.
Синглтон («Singleton» — одиночка) используется в случае, если на все приложение необходим только один экземпляр определенного класса, доступ к которому можно будет иметь из любого места.
Предположим, что мы имеем некий класс SoundManager, который отвечает за воспроизведение всех звуков в игре. Скажем, есть у него публичный метод playExplosionSound(). До того, как мне стало известно о синглтоне, для того, чтобы вызвать этот метод из какого-нибудь глубоко упрятанного класса, приходилось делать что-то вроде myParent.myParent.soundManager.playExplosionSound(), а то и ещё померзостней.
При помощи синглтона это всё делается проще. Мы создадим статическую переменную instance в классе SoundManager, и при инициализации класса будем, во-первых, сохранять в неё свежесозданный экземпляр класса, а если эта переменная непуста, то выдавать ошибку, т.к. кто-то явно пытается создать второй экзепляр SoundManager.
Существует стопицоттыщмильёнов реализаций синглтона и, похоже, каждый программист считает долгом придумать свою. Я опишу пару очень простых, без изысков.
Читать дальше →

Согласно одному из определений, паттерн проектирования — это пример наиболее удачного проектного решения в области объектно-ориентированного программирования, описание взаимодействия объектов и классов для решения стандартной задачи проектирования. Другими словами — это наиболее удачный подход к построению структуры классов и взаимосвязи между ними для решения некой стандартной задачи в проектировании программы.
Синглтон («Singleton» — одиночка) используется в случае, если на все приложение необходим только один экземпляр определенного класса, доступ к которому можно будет иметь из любого места.
Предположим, что мы имеем некий класс SoundManager, который отвечает за воспроизведение всех звуков в игре. Скажем, есть у него публичный метод playExplosionSound(). До того, как мне стало известно о синглтоне, для того, чтобы вызвать этот метод из какого-нибудь глубоко упрятанного класса, приходилось делать что-то вроде myParent.myParent.soundManager.playExplosionSound(), а то и ещё померзостней.
При помощи синглтона это всё делается проще. Мы создадим статическую переменную instance в классе SoundManager, и при инициализации класса будем, во-первых, сохранять в неё свежесозданный экземпляр класса, а если эта переменная непуста, то выдавать ошибку, т.к. кто-то явно пытается создать второй экзепляр SoundManager.
Существует стопицоттыщмильёнов реализаций синглтона и, похоже, каждый программист считает долгом придумать свою. Я опишу пару очень простых, без изысков.
Читать дальше →

Релиз ShapeFit (Flash & Android)

Состоялся релиз первой головоломки ShapeFit от Scrollgroup.
Поиграть можно на Kongregate или Newgrounds.
Читать дальше →

Stage3D / AGAL с нуля. Часть 3 – Hello Triangle
Итак, вы уже начитались первой и второй частей и хотите наконец чего-то более насущного. Поехали.
Можете начать со скачивания исходников здесь.
В этой статье мы научимся рендерить треугольники при помощи чистого Stage3D. Будет немного информации об AGAL, без которой не получится отобразить что-либо на экране, но не волнуйтесь, это не так сложно, как кажется.
Мы много говорили о вершинах в последних статьях. Вершина — это точка в пространстве, которая вместе с двумя другими образует треугольник в пространстве.
Читать дальше →
Можете начать со скачивания исходников здесь.
В этой статье мы научимся рендерить треугольники при помощи чистого Stage3D. Будет немного информации об AGAL, без которой не получится отобразить что-либо на экране, но не волнуйтесь, это не так сложно, как кажется.
Мы много говорили о вершинах в последних статьях. Вершина — это точка в пространстве, которая вместе с двумя другими образует треугольник в пространстве.
Читать дальше →
- +14
- MidnightOne
- 18

Stage3D / AGAL с нуля. Часть 2 – Анатомия программы Stage3D
Добрый день, это вторая статья на тему Stage3D / AGAL, она будет тоже теоретической, как и первая. Ждите практику в следующей статье.
Перед тем, как начать работу над нашим первым треугольником, давайте сперва взглянем на структуру программы в Stage3D. Приведенная далее информация так же будет касаться WebGL программ и низкоуровневого 3D программирования в целом.
Читать дальше →
Анатомия программы Stage3D
Перед тем, как начать работу над нашим первым треугольником, давайте сперва взглянем на структуру программы в Stage3D. Приведенная далее информация так же будет касаться WebGL программ и низкоуровневого 3D программирования в целом.
Читать дальше →
- +13
- MidnightOne
- 5

Stage3D / AGAL с нуля. Часть 1 – Азы
Добрый день, дорогие друзья.
В сети до сих пор довольно мало туториалов Stage3D / AGAL, а тем более на русском, поэтому я решил сделать несколько переводов статей об этом замечательном инструменте. Сегодня мы взглянем на гранит, который предстоит грызть, но к процессу пока не приступим. Под катом некоторое количество вводной информации по Stage3D / AGAL.
Читать дальше →
В сети до сих пор довольно мало туториалов Stage3D / AGAL, а тем более на русском, поэтому я решил сделать несколько переводов статей об этом замечательном инструменте. Сегодня мы взглянем на гранит, который предстоит грызть, но к процессу пока не приступим. Под катом некоторое количество вводной информации по Stage3D / AGAL.
Читать дальше →
- +20
- MidnightOne
- 17

Моё обновление отладочного симулятора для Flash CS6
Привет всем! Вот и свершилось — вышел Flash Professional CS6!
Рассказывать что и как стало в нем круче для iOS / Android разработки чем было в CS5.5 и Flash Builder я не буду. Речь пойдет совершенно о иной вещи.
Каждый, кто уже поставил пакет CS6 и попытался собрать приложение под iOS/Android был приятно удивлен — появляется окошко с девайсом, где можно не только поиграть с TouchEvents, для полной отладки без наличия девайса — можно сразу и службу геолокации попробовать, покрутить акселерометр.
Но встроенный симулятор выглядит очень убого и не «вкусно» — черный экран и серый фон. Не понятно.

Читать дальше →
Рассказывать что и как стало в нем круче для iOS / Android разработки чем было в CS5.5 и Flash Builder я не буду. Речь пойдет совершенно о иной вещи.
Каждый, кто уже поставил пакет CS6 и попытался собрать приложение под iOS/Android был приятно удивлен — появляется окошко с девайсом, где можно не только поиграть с TouchEvents, для полной отладки без наличия девайса — можно сразу и службу геолокации попробовать, покрутить акселерометр.
Но встроенный симулятор выглядит очень убого и не «вкусно» — черный экран и серый фон. Не понятно.

Читать дальше →

Честный таймер
На днях у меня возникла резко возникла необходимость в «правильном» таймере для генерации событий. Когда затестировал стандартный Timer на маленьких временных интервалах я пришел в тихий ужас, например, на величине тика 125мс я получил колоссальное расхождение между реальными шагами порядка 30 процентов или около того. И вот я стал думать, а что же мне вообще делать?
Читать дальше →
Читать дальше →

CPMStar: решение проблемы криворуких рекламщиков
Маленькая заметочка для тех, кого бесят баннеры цпмстар, ломающие флешку.
Читать дальше →
Читать дальше →
- +19
- OlegAntipov
- 12

Простейший сервер на ASP.NET (C#) для Flash-игр и их связка
Привет всем мастерам отечественного игростроя и не только.
В этой небольшой статье я хочу рассказать о том, как я делал, делаю и возможно буду делать серверы для своих игр в связке Flash AS3 + Windows Server + ASP.NET (C#) + MSSQL Server. Ничего нового или уникального в этой статье нет. Это один из десятков вариантов как быстро сделать серверную часть и связку с ней для клиента. Применяю описанный метод в многопользовательских социальных играх (и приложениях). Но, осмелюсь предположить, что и в однопользовательских играх это вполне применимо, особенно когда речь идет о сохранении профиля на сервере и/или сборе всяческой статистики.

Читать дальше →
В этой небольшой статье я хочу рассказать о том, как я делал, делаю и возможно буду делать серверы для своих игр в связке Flash AS3 + Windows Server + ASP.NET (C#) + MSSQL Server. Ничего нового или уникального в этой статье нет. Это один из десятков вариантов как быстро сделать серверную часть и связку с ней для клиента. Применяю описанный метод в многопользовательских социальных играх (и приложениях). Но, осмелюсь предположить, что и в однопользовательских играх это вполне применимо, особенно когда речь идет о сохранении профиля на сервере и/или сборе всяческой статистики.

Читать дальше →