![]() |
В принципе мне все стало намного яснее.Спасибо большое за ответы всем.C одной стороны конечно неплохо все запихнуть в один xml файл вручную.В этом есть много плюсов.Например такой xml файл может заполнять кто угодно, например, администратор игры.можно добавлять новые квесты не влезая в БД.Но есть и минус.Если квестов будет больше 100 , то объем такого файла будет почти мегабайт.И каждый раз при загрузке приложения он будет его скачивать.
С Базой данных тоже не все так просто.Во первых за каждый пройденный квест он будет записывать в БД и ждать ответа от сервера.Во вторых нужно сразу заполнять БД для того чтобы потом в нее не лазеть.Но есть плюсы - это экономия времени при загрузке приложения и гарантия того что этот файл никто не посмотрит. Т.е. получается затык только в том , что квесты нужно передавать в разных форматах.Но эту проблемму решает JSON.Как написал Dukobpa3 можно хранить данные в базе в виде JSONа и парсить его в зависимости от заголовка которые будет в ответе от сервера. В общем с одной стороны с xml все просто но не продуктивно .С другой стороны с БД все сложно но быстрее и безопаснее.Может быть надо выбрать тот способ которые гибче остальных?Вдруг что то придется добавлять или изменять |
"Лучше потому что лучше" - имхо, не аргумент. С таким же успехом можно джейсон файлики на диске складировать и результат будет тем же.
|
Я не говорил "Лучше потому что лучше", а подробно сказал почему лучше.
Джейсон описание уровня - каша-мала. Хуже читается - значит и сам подход хуже. |
Я до сих пор не увидел ни одного аргумента к сожалению. Все твои доводы субъективны. Для меня наоборот джейсон удобнее и проще читается, в то время как хмл избыточен и содержит великое множество шума.
|
Квесты будут секретные только если их никому не будут выдавать)
Писать в базу каждый пройденный квест придётся в любом случае. Вам нужно как можно быстрее узнавать, в каком состоянии квест. Быстрее всего - программа-сервер, постоянно висящяя в памяти, которая знает всё о квестах и игроках онлайн. Быстрее всего, т.к. всё о чем надо знает и делает только то, что надо, заточена конкретно под ваши квесты. Только её написать тяжело, не советую вообще. Потом идёт БД. Потому что по сути у вас в любом случае будет БД, только в случае текстовых форматов вам надо будет предварительно её ещё и распарсить. Ну и информацию об игроке в любом случае из БД доставать, а так есть шанс, что на вопрос "что там у такого-то игрока с квестами" можно будет ответить одним запросом. Утилитку для редактирования квестов написать не сложно. БД не должна быть для вас сложной, это базовая вещь вообще, не бойтесь её. Индексов главное налепить побольше =)) |
У меня не так. Парсер лишний, только если хотите спихнуть работу на какого-нибудь другого человека )
У меня квесты выглядат так: Код AS3:
Если ожидается не клик, а ответ от сервера - я делаю диспатч баббл эвента, с номером туториала и номером шага. Если туториал сидит на этой точке - то считается, что пункт пройден. Ну, и много всякой ерунды ещё. Блокирую экран Sprite`ом, в котором режу дырки ) callbackWhenTrigger позволяет выполнить код, когда доходит до этого шага - там предоставляется необходимый функционал, вроде viewport.addOnTop у меня подсвечивает объект над областями затемнения. Так же там имеется доступ к главному контроллеру и я в принципе могу приказать что угодно кому угодно. |
Код AS3:
|
Когда юзер доходит до этого TutorialItem (50 шагов - 50 TutorialItem`ов) - вызывается этот метод, если он указан.
В нём, например, можно сделать запрос на сервер, или приказать какому-нибудь окошку закрыться. |
А где сами ссылки на коллбеки хранятся?
В итеме понятно. А до вот этой строчки: Код AS3:
Какая-то хитрая схема с формированием имени колбека и в таком духе? или хардкод, или где-то в каком-то списке хранится? |
Цитата:
Цитата:
|
| Часовой пояс GMT +4, время: 10:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.