CakeTower
CakeTower - встроенный объект редактора, который реализует механику игры. Игра представляет собой бесконечную "тапалку" и завершается в случае промаха мимо башни тортов.
Основные параметры
Размер - размер игрового поля.
- w (w) - размер поля по оси X.
- h (h) - размер поля по оси Y.
Графика основы (base_image) - графика подставки. Нужно перетащить из редактора ресурсов.
Графика курсора (hand_image) - курсор, который якобы двигает торт влево-вправо. Нужно перетащить из редактора ресурсов.
Важно! Курсор всегда отрисовывается так, что его пивот по вертикали находится на той же высоте, что и верхний край движущегося торта, а по горизонтали - на середине движущегося торта. Поэтому при добавлении графики курсора в ресурсы редактористу необходимо позаботиться о местоположении пивота.
Звуки игры
На сегодняшний день поддерживаются такие звуки:
- Обычный ход (step_snd) - звуковой ресурс проигрывания хода.
- Идеальный ход (ideal_step_snd) - звуковой ресурс проигрывания идеального хода.
- Добавление монеты (coin_snd) - звуковой ресурс проигрывания добавления монеты.
- Конец игры (gameover_snd) - звуковой ресурс проигрывания конца игры.
Параметры
- Количество кусков до проседания экрана (max_tower_stable_height) - максимальное количество отображаемых кусков торта, после которых экран начнет проседать вниз.
- Ускорение свободного падения (free_fall_acceleration) - параметр, определяющий ускорение свободного падения куска торта, который может принимать вещественные значения от 1 до 10.
- Высота расположения нижней платформы (cakes_base_Y) - этот параметр определяет расстояние в пикселях от нижней границы экрана до нижнего края самого нижнего лежащего торта. Важно! На сегодняшний день графика подставки рисуется строго от нижнего края экрана.
- Начальная ширина основы (start_cake_width) - начальная ширина торта в пикселях.
- Начальная ширина основы после оплаты (start_cake_width_after_pay) - начальная ширина торта в пикселях после оплаты.
- Начальное количество кусков (start_cakes_count) - количество кусков торта, которые лежат на подставке в начальный момент.
- Скорость движения (move_speed) - скорость движения задается целочисленным параметром, принимающим значение от 1 до 10. В дальнейшем скорость движения торта автоматически подстраивается так, чтобы он перемещался от одного края экрана до другого за одно и то же время независимо от своей ширины.
- Скорость исчезновения отрезанного куска по альфе (fading_speed) - задается параметром, принимающим значения от 1 до 10. Отвалившиеся куски торта после приземления падают ускоренно за нижнюю границу экрана и пропадают по альфе.
- Высота активной платформы (current_cake_Y) - высота расположения двигающегося торта, содержит расстояние в пикселях от нижнего края экрана до нижнего края двигающегося торта.
- Идеальная разница между платформами (ideal_cakes_differences) - величина alpha в процентах. Если ширина отрезанного куска меньше, чем некоторое предельное значение W_ideal, то ход считается идеальным. В этом случае новый кусок торта ставится на старый без потери ширины. Ширина W_ideal определяется в процентах от начальной ширины торта: W_ideal = alpha * start_cake_width.
- Минимальное расстояние между монетами (min_coins_distance) и максимальное расстояние между монетами (max_coins_distance) - монеты выставляются на расстоянии друг от друга, которое выбирается случайным образом и лежит в промежутке между значениями этих параметров. Монета считается заработанной, когда игрок достроил башню до соответствующей высоты.
- Высота собирания монет (coin_catch_distance) - высота монеты над движущимся тортом, при которой монета забирается.
- Центрировать монету (centering_coin) - центрирование монеты по горизонтали по центру объекта caketower.
- Счетчик высоты башни (tower_height_counter) - объект типа счетчик, который после каждого хода отображает полную высоту башни в кусках.
- Счетчик монет (coins_counter) - объект типа счетчик, который отображает количество заработанных монет.
Добавляемые параметры
Графика куска торта (graphics_lst). Графика торта содержит три параметра:
- графика торта (piece_image) - задается картинкой, ширина которой должна быть не меньше начальной ширины кусков на подставке;
- графика левого (l_overlay_image) и правого (r_overlay_image) оверлеев - представляют собой тени, придающие торту эффект закругления.
Редакторист может добавить сколько угодно вариантов графики торта из контекстного меню в редакторе. При этом при добавлении каждого нового торта на экран графика для него будет случайным образом выбрана из существующих.
Визуализатор фона (background_visualizers). Объект, которому после каждого фона передается целочисленный параметр с именем tower_height, содержащий высоту башни в кусках. Нужен для визуализации фона.
Визуализатор монет (coin_visualizers). Машина состояний, которая должна иметь три состояния:
- ct_visible: монета видна на экране;
- ct_invisible: монета не видна на экране;
- ct_collecting: монета только что была заработана.
Визуализатор монет автоматически помещается в необходимую точку экрана.
Слушатель хода (accuracy_listeners) - слушатель качества хода. Объект, которому после каждого хода передается вещественный параметр с именем accuracy, означающий эффективность хода от 0 до 1.
Слушатель идеального хода (ideal_step_listeners). Машина состояний, которая после идеального хода переводится в состояние ct_ideal_step.
Слушатель состояния: игра началась (game_started_listeners). Машина состояний, которая после начала игры должна переводиться в состояние с именем ct_start.
Слушатель состояния: игра на паузе (game_paused_listeners). Машина состояний, которая после постановки игры на паузу переводится в состояние с именем ct_pause.
Слушатель состояния: игра возобновлена (game_resumed_listeners). Машина состояний, которая после постановки игры на паузу переводится в состояние с именем ct_resume.
Слушатель состояния: промах (step_failed_listeners). Машина состояний, которая после промаха пользователя переводится в состояние с именем ct_step_failed.
Слушатель состояния: продолжение игры после оплаты (game_pay_continue_listeners). Машина состояний, которая после начала переигрывания после оплаты переводится в состояние с именем ct_pay_continue.
Состояния объекта
Есть возможность задавать три состояния игры:
- start - старт игры;
- pause - пауза;
- resume - возобновление;
- pay_continue - продолжение игры после проигрыша и оплаты.
Пример
S:\!MOBILE\!!!EditorGames\Wiki_sample\Cakes.zip