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

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Что смущает в конфиге?
Для демонстраций случайной генераций, в нём можно создать пустую локацию, а в контроллере прописать функцию createRandomBuildings(num), просто дёргая её при старте игры.

В конфиг можно добавить данные о типах тайлов, а так-же карту тайлов для тестовой локаций.
(Вода, дороги) Ещё, для большего соответствия тз, жизни домиков в нём нужно указать 5. (фул хп)
В целом, это было бы то, что они хотели.

Конфиг грузится сразу после запуска приложения, 1 раз. Затем, вы просто храните его в памяти в любом удобном виде. Можете хранить его просто как динамический объект свойств. (Обычный Object, возвращаемый после JSON.parse). На протяжении всей работы приложения вам понадобится постоянно обращаться к этим данным самым разным способом. (По id, по title, по life и т.д.) Поэтому, я всегда дублирую все сущности конфига как as классы, создаю удобные обёртки для доступа к этим данным.
Простой пример класса данных локаций:
Код AS3:
LocationData{
    public var title:String;
    public var id:uint;
}
Класс, содержащий данные по локациям:
Код AS3:
LocationsData{
    public var vec:Vector.<LocationData>;
}
Это самый краткий вариант записи. На практике, в эти классы добавляются такие метода как getLocationByID, getLocationByTitle и т.п. (Для удобного доступа)
После того как конфиг файл загружен, я разбираю его по этим классам и в дальнейшем храню и работаю с ними.

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

Старый 02.07.2015, 14:21
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 12  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Спасибо, теперь понял, что конфиг должен хранить абсолютно все данные об игре (что-то вроде базы данных), чтобы правя его можно было менять локации, объекты, и все остальное, без правки приложения, просто я никогда с этим не работал, и из тз понял что там должны быть основные общие настройки игры , теперь буду делать правильно, еще раз спасибо.


Последний раз редактировалось Isfet; 02.07.2015 в 14:42.
Старый 05.07.2015, 00:54
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 13  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Сорри, за прямоту - сам не люблю когда делают код ревью мне )
Не стал бы заострять внимание на e или event и прочей лабуде с табуляциями.

Сразу вижу что:
1. мало опыта в МВЦ, не очень логично распределены обязанности. Всё свалено в кучу.
- разделить на модель, вид , контроллер - дать описания каждому паблик методу в формате ас док на английском
2. Не понимает , что такое интерфейсы. Избыточно заявленые интерфейсы. Впечатление , что разработчик - смутно себе представляет зачем они нужны - типа "так правильно"
- Убрать интерфейсы вовсе, либо заморочиться и впилить инъекции (пусть интервьюер сам курит роботлегс например , покажите что-то интересное=)) и имплементировать в них обычные дисплей объекты вместе со старлингом, приправив парочкой геном2д объектов с шаред 3Дконтекстом.

3. Не гуглит - не заюзал всем известные решения типа isolib, и получилась пародия - которая точно будет багать с объектами на близких координатах и разных слоях.

4. А где ресайз ? А где фпс на 60 ? Где обработка ошибок ? Возможно разработчик никогда не сталкивался с этим. Варианта 2 - либо "лепил мини-игры-баннеры", либо флексил на простом уровне.
ФПС 24, а зачем 40 ?
Код AS3:
new MovieClip(atlas.getTextures("boom_"), 40);
Тестовое задание - убойное, честно говоря. Но ту реализацию, что есть в исходнике, - реально за 1 день можно сделать.
Ничего из дополнительных тасков не реализовано.
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 06.07.2015, 08:40
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 14  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Цитата:
Сообщение от miramax Посмотреть сообщение
1. мало опыта в МВЦ
спасибо, про мвц уже понял, разбираюсь, про интерфейсы тоже буду читать.

Цитата:
Сообщение от miramax Посмотреть сообщение
3. Не гуглит - не заюзал всем известные решения типа isolib
естественно искал готовые решения, но работодатель сказал не юзать isolib.

Цитата:
Сообщение от miramax Посмотреть сообщение
4. а зачем 40 ?
Код AS3:
new MovieClip(atlas.getTextures("boom_"), 40);
взрыв был слишком долгий, из атласа текстуры не стал выпиливать.


Последний раз редактировалось Isfet; 06.07.2015 в 08:53.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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