Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Подскажите по дизайну классов (http://www.flasher.ru/forum/showthread.php?t=148400)

zhoran 29.12.2010 20:09

Подскажите по дизайну классов
 
Я пишу флеш игру, в которой лейаут экрана поделен на две части: верхнюю и нижнюю. В верхней всегда расположен стол, а в нижней части в зависимости от контекста игры могут отображаться либо панель кнопок, либо чат, либо история ходов в партии.

Нижнюю часть я хочу оформить в виде символа-мувиклипа, и панель кнопок, чат и историю ходов хочу тоже сделать отдельными символами и поместить их в кадры мувиклипа нижней части. Чтобы вывести панель кнопок, чат или историю я собираюсь явно переключать кадры мувиклипа нижней части.

Подскажите, это правильный подход , или такие вещи надо реализовывать по-другому?

terbooter 29.12.2010 21:02

Я бы рекомендовал блоки делать отдельными дисплэй обжектами и
тогда вместо
gotoAndStop("chat")
будет
addChild(chat)

zhoran 29.12.2010 22:17

Да, так можно включать/выключать отображение .
Еще хочется, чтобы можно было внешний вид в разных режимах (действия, чат, история) целиком видеть в IDE, как это сделать кроме раскадровки? Можно еще скинуть в разные слои и включать/отключать их видимость. Как-то еще?

goodguy 29.12.2010 22:44

Цитата:

Можно еще скинуть в разные слои и включать/отключать их видимость. Как-то еще?
Чтобы одновременно видеть, это единственный вариант.

А вообще, писать код игры в кадрах - далеко не лучший подход. Лучше писать все в классах.

zhoran 30.12.2010 12:57

Цитата:

Сообщение от goodguy (Сообщение 960918)
А вообще, писать код игры в кадрах - далеко не лучший подход. Лучше писать все в классах.

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

mikhailk 30.12.2010 13:21

а социалку сверху потом куда прикручивать будем? :)
в пятый и седьмой кадры основной сцены?

zhoran 05.01.2011 00:40

Я сам код пишу не в кадрах. У меня есть типа главный мувик, в нем есть несколько надров - по числу режимов игрового стола. В кадрах расположены только составные символы-вьюхи (доска, чат, история). Весь код, управляющий переключением кадров и выводом в чат, в истрию и на доску находится в отдельных чисссто AS3 классах-контроллерах. Контроллеры я создаю из корневого объекта контроллера игры. Эти контроллеры каждый принимает ссылку на соответствующую ему вьюху, лежащую на каком-то кадре главного мувика.

Можно было конечно все символы компоновать и выводить врукопашную в коде, но гораздо же удобнее их сложить в мозаику в IDE и затем только показывать/прятать. Можно, например, всегда открыть главный мувик в IDE, что-то поменять в составляющих его символах и сразу увидеть как поменяется внешний вид приложения в том или ином режиме. Не нужно копилировать, запускать приложение, не нужно явно оперировать x,y координатами, код становится проще/короче.

Цитата:

Сообщение от mikhailk (Сообщение 961034)
а социалку сверху потом куда прикручивать будем? :)
в пятый и седьмой кадры основной сцены?

А социалка это либо другой кадр, либо другая флешка, либо сайт вообще.

Или я во что-то фудаментально не врубаюсь ? :confused:

mikhailk 05.01.2011 00:54

Тут приняты два крайних взгляда:
- работать вообще без мувиков, собранных во FlashIDE, абсолютно все делать кодом.
- делать все мувиками во FlashIDE, а код использовать исключительно для связки этих мувиков и реализации функционала, повешенного на контролы мувиков

Второй подход не позволит сделать действительно крупное приложение. Первый подход позволяет строить крупные приложения, но требует более высокой квалификации. Компромиссный подход - первичным является код, отдельные компоненты приложения выполняются мувиклипами.

zhoran 05.01.2011 01:13

ок, я понял.
Пожалуй, первый подход слишко хардкорный для меня, и чреват потерей интереса к проекту. :)
Мне больше по нутру компромиссный подход.

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


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

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