Collapse — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
м (Состояния)
м (Звуки)
Строка 100: Строка 100:
 
=Звуки=
 
=Звуки=
 
*'''нажатие на фишку''' - Звук нажатия на фишку.
 
*'''нажатие на фишку''' - Звук нажатия на фишку.
 +
*'''добавление фишки в выделение''' - Звук при выделении фишки (режим dots); звук воспроизводится с 2-й фишки.
 
*'''перемещение фишки''' - Звук перемещения фищки.
 
*'''перемещение фишки''' - Звук перемещения фищки.
 
*'''возврат фишки''' - Звук возврата фищки при неудачном перемещении.
 
*'''возврат фишки''' - Звук возврата фищки при неудачном перемещении.
 
*'''падение фишки''' - Звук для падения фишки.
 
*'''падение фишки''' - Звук для падения фишки.
 
 
  
 
=Добавляемые свойства=
 
=Добавляемые свойства=

Версия 07:23, 12 июля 2018

Объект «Collapse» дает возможность организовать ряд игр, основанных на 3х "модах".
Все эти механики являются играми на поле, основой, которого является регулярная решетка. Игра происходит при помощи фишек, расположенных в ячейках поля.

27-12-2013 14-15-18.png
27-12-2013 16-18-35.png


Свойства

Общие параметры

  • Слушатель - Объект типа matchbattle.
  • Время партии - Время игры. По окончанию которого будет засчитано поражение.


Перегруженные правила

  • Типов фишек - Число разновидностей типов фишек.
  • Номер в фишках - Число номеров в фишках. Включая статические.
  • Номер бомбы - Номер фишки, который соответствует бомбе. Не будет генерироваться сам по себе.
  • Номер крестобомбы - Номер фишки, который соответствует крестобомбе, не будет генерироваться сам по себе.
  • Статический номер - Номер фишки, которую нельзя добавить к пометке. Используется, например, для игры, в которой необходимо спустить статические объекты вниз, очистив при этом поле.
  • Типов узлов - Число разновидностей типов нормальных узлов графа.
  • Условия пометки - Условия для вхождения фишек в пометку. 0 - любые фишки, 1 - должен совпадать номер, 2 - должен совпадать цвет, 3 - должен совпадать номер и цвет фишек.
  • Монотонность - Должны ли номера в первой пометке быть монотонной последовательностью.
  • Мин.пометка - Минимальное число фишек помечаемых в первой пометке.
  • Макс.пометка - Максимальное число фишек помечаемых в первой пометке.
  • Время пометки - Пометка завершается спустя заданное в этом поле время.
  • Переставлять - Фишки первой пометки переставляются.
  • Уменьшать - Фишки первой пометки уменьшают свой номер.
  • Удалять - Удалять ячейки первой пометки.
  • Условие удаления - Условия для удаления фишек: 0 - не удалять, 1 - должен совпадать тип, 2 - должен совпадать номер, 3 - должен совпадать тип ИЛИ номер, 4 - должен совпадать тип И номер.
  • Тип удаления - Тип удаления. 0 - заливка, 1 - вертикальные и горизонтальные линии, 2 - только сама пометка.
  • Мин.удаление - Минимальное число фишек, которое можно удалить.
  • Генерация без мачей - При генерации поля избегать готовых совпадений.
  • Проверка после осыпания - После осыпания фишек ещё раз перепроверить возможные комбинации ходов.
  • Добавление - Нужно ли добавлять фишки на поле. Или игра на разбор.
  • Схлопывание - Нужно ли схлопывание (Ликвидация пустых столбцов).
  • Менять тип узла - Увеличить ли тип нормальной ячейки, если над ней произошла трансформация фишек.
  • Поддерживать число ходов - При осыпании фишек проверить поле на то, чтоб обязательно был возможный ход.
  • Тащить фишку - Тащить первую фишку пометки за пальцем.
  • Завершать пометку - Не ждать отпускания пальца для завершения пометки - актуально в тех случаях, когда в ней всегда одинаковое число фишек.


Перегруженные цели

  • Очистить поле - Уничтожить соотв. % фишек. Не стоит комбинировать с досыпанием.
  • Перекрасить поле - Перекрасить все ячейки поля в базовый тип.
  • Уронить статические - Уронить все статические фишки на дно поля.
  • Уничтожить фишек - Уничтожить фишек, количество через запятую.


Внешний вид

  • Картинка - Графический ресурс картинки пазла.
  • Фишки - Не рекомендуется использовать. Заменено на добавляемые параметр, см.ниже.
  • Ячейки - Графический ресурс ячейки.
  • Курсор - Курсор для выделения фишек.
  • Колонок - Число колонок на которые разбивается пазл.
  • Строк - Число строк на которые разбивается пазл.
  • Авторазмер - Если 1, то для расчета размера ячеек используется картинка. 0 - размер ячейки = размер паззла / число ячеек
  • Сетка? - Если 1, то будет показана сетка при разрезке картинки на блоки. При 0 - сетки не будет.
  • Счетчик статических - Счетчик статических. Объект типа каунтер.
  • Прогресс статических - Прогресс-бар статических. Объект типа progress.



Времена этапов

  • невидимости - Начальная пауза перед откртыием пазлы.
  • открытия - Время открытия исходной картинки (проявляется по alpha).
  • показа - Время показа исходной картинки (после проявления).
  • перемешивания - Время визуализации процесса перемешивания ячеек.
  • финала - Время финального показа пазлы после её разбора, перед переходом к закрытию.
  • закрытия - Время закрытия пазлы (в состояниия close, исчезает по alpha).


Времена игры

  • перестановки - Время перестановки двух ячеек местами при их выборе.
  • движения - Время движения фишек от одного узла к соседнему.
  • движения верх - Время движения фишек от одного узла к соседнему при отскоке.
  • отскока - Время движения фишек вверх при отскоке. Т.о. при дефолтных значениях фишка отскакивает на 200 / 600 треть высоты фишки"
  • рождения и удаления - Время рождения и удаления фишки.
  • поворота - Время поворота ячейки при повторном клике на нее.
  • паузы - Время паузы перед началом перестановки или поворота.
  • подсказки1 - Время за которое проявляется исходная картинка в состоянии hint.
  • подсказки2 - Время в течении которого показывается после проявления исходная картинка в состоянии hint.
  • подсказки3 - Время в течении которого закрывается после показа исходная картинка в состоянии hint.


Хинт при бездействии

  • время задержки - Время бездействия, после которого следует показывать хинт.
  • машина - Объект, который будет установлен между двумя фишками.


Генерация поля

  • min размер кластера - min размер кластера из фишек одного типа
  • max размер кластера - max размер кластера из фишек одного типа


Звуки

  • нажатие на фишку - Звук нажатия на фишку.
  • добавление фишки в выделение - Звук при выделении фишки (режим dots); звук воспроизводится с 2-й фишки.
  • перемещение фишки - Звук перемещения фищки.
  • возврат фишки - Звук возврата фищки при неудачном перемещении.
  • падение фишки - Звук для падения фишки.

Добавляемые свойства

+.png Изменить состояние / параметр объекта - выигрыш

- изменить состояние / параметр объекта в случае выигрыша.

+.png Изменить состояние / параметр объекта - проигрыш

- изменить состояние / параметр объекта в случае проигрыша

+.png Изменить состояние объекта - клик на одиночную

- изменить состояние объекта в случае клика на одиночную ячейку: открывает машину в которой необходимо объекту "Коллапс" установить состояние "del_last"

+.png Звук фишки

- Удаление, появление.

+.png Уровень сложности

- Номеров в фишках, Мин.размер кластера и Макс.размер кластера.

+.png Графика фишки

- Обычная: графический ресурс перетаскивается из редактора ресурсов.

+.png Эффект

- Объект, который будет вызываться при взрыве фишек. Должен иметь состояние beg.

+.png Эффект крестобомбы

- Эффект, который будет использоваться при взрыве крестобомбы. Должен иметь состояние beg.

Состояния

  • beg - пауза перед open
  • open - появляется по alpha-каналу
  • start - запустить новую игру (объект применяет все данные из лейаута + из файла уровней);
  • sel1 - ждем окончания первой пометки
  • sel1_end - показываем окончание первой пометки
  • sel1_transf1 - первая трансформация первой пометки
  • sel1_transf2 - вторая трансформация первой пометки
  • sel2 - ждем окончания второй пометки
  • sel2_end - показываем окончание второй пометки
  • sel2_trands1 - первая трансформация второй пометки
  • sel2_trands2 - вторая трансформация второй пометки
  • born - рождение фишек
  • move - перемещаем фишки
  • aftermatch - проверяем, не случилось ли чего-то после движения/добавления фишек
  • close - исчезает по alpha-каналу
  • end - недоступна, невидима
  • rotate_left - повернуть влево на 90 градусов
  • rotate_right - повернуть вправо на 90 градусов
  • undo - отменить один ход
  • remove_color
  • remove_single
  • shuffle_cols
  • remove_last - удалить последнюю кликнутую ячейку (покупное удаление одиночных)

Файл уровней

Объект умеет загружать настройки из файла уровней, для этих целей у объекта должны быть заданы:

  • файл уровня(levelFile) - путь к xml файлу уровней;
  • номер уровня(levelNum) - id уровня из файла уровней;

На текущий момент объект вычитывает уровень из файла только при старте, т.е. чтобы сменить уровень нужно или сменить экран или проинитить сцену с коллапсом.

Структура файла

<levels> <!-- style --> <style id="3"> <tokens norm="355"/> <tokens norm="356"/> </style> <!-- levels --> <level id="1" rows="2" cols="2" numTokenNums="2" > <field> 0,0, 0,0 </field> </level> <level id="2" rows="2" cols="2" numTokenNums="2" > <field> 0,0, 0,0 </field> </level> </levels> Где <style> - стиль в котором перечисляем настройки фишек (resID); <level> - один игровой уровень <field> - стартовая настройка поля

Поле

Итак поле для объекта это строка которая имеет разделитель фишки "," при этом пробелы игнорируются. Код каждой фишки может состоять от 1 до 5-ти символов "NTKXY". Т.е. объект воспринимает поле как последовательность "NTKXY,NTKXY,NTKXY,NTKXY".

Значение символов:

  • N - индекс фишки объекта ( стартует с "0");
    • 0 - рандомная обычная фишка;
    • 0-9 - рандомная обычная фишка;
    • * - "дырка" (пустая ячейка) которая никогда не заполнится;
    • # - "разовая дырка" (пустая ячейка) которая может заполнится (для Аркады);

Цели

Важно указать в самом объекте флаг "перегрузка целей"(override_goal) и зануляем все параметры в теге "перегруженные цели" - чтобы не добавлялись цели которые нам не нужны (уронить статические, очистить поле).

  • goalAny - выбить N фишек (у объекте параметр goal_any);
  • goalLines - выжить N генераций линий, для Аркады (у объекта параметр goal_lines);
  • goalLocks - убрать N замков (у объекта параметр goal_locks);
  • goalTokens - выбить N фишек конкретного цвета (последовательность через запятую для каждого нужного цвета); Объект пишет N параметров в себя goal_num_%N%, где %N% - номер фишки (нумерация с 0);Важно задавать количество цветов numTokenNums не меньшим чем количество целей - иначе уровень нельзя будет пройти;

Параметры

  • id - id уровня (объект возьмёт первый уровень который совпадёт по id);
  • cols - высота поля;
  • rows - ширина поля;
  • numTokenNums - количество цветов которые будет генерировать объект(если у вас режим дотсы - будьте бдительны, статическая фишка тоже считается цветом, и по-умолчанию она будет первой фишкой);
  • needCollapse - схлопывание фишек при пустой вертикальной линии;
  • needBirth - досыпание фишек (для аркады можно не указывать);
  • style - id стиля, применит указанный стиль (применит настройки фишек из стиля и запишет в себя строку tokenStyle (resID фишек через запятую));
  • chameleonTime - время изменения фишки-Хамелеон (у объекта параметр currentDt);
  • chameleonColors - перечень цветов, которые будет менять фишка-Хамелеон (у объекта параметр chameleonColors);

Бонусы

Аркада

Режим в котором ряд фишек добавляется снизу через время со сдвигом поля вверх. При этом проигрышь случается в случае когда мы не можем добавить ряд (размер поля увеличивается). В данном режиме очень не желательно использовать отмену действия (состояние undo).

  • dt0 - если больше 0 - включается режим аркады;
  • n - количество линий через которое время уменьшиться на множитель;
  • mult - множитель на которое уменьшиться время;

При работе режима, объект записывает строку (nextLine) в которой указан добавляемый ряд (цифры эквиваленты индексу фишки) и пинает обработчик - "запланирована новая линия в аркаде".

Пример

S:\!MOBILE\!!!EditorGames\Wiki_sample\test_collaps.zip