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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
[[Файл:puzzle1.png|right]]
 
[[Файл:puzzle1.png|right]]
'''Пазла''' (puzzle) - минигра, состоящая в собирании картинки, разрезанной на прямоугольные ячейки. Ячейки можно вращать и/или переставлять. Возможны 2 игровые механики, когда все ячейки есть на игровом поле и когда одной нет (аналог - игра 15-шки).
+
'''Пазл''' (puzzle) — встроенный объект редактора, имеющий определенную игровую механику, которая заключается в том, чтобы собрать необходимое изображение из прямоугольных ячеек (частей). Ячейки пазла можно переставлять и вращать. По мере сбора пазла ячейки, оказывающиеся на своем месте, лишаются бордюра и пазл постепенно проявляется (см. рис. 1). У пазла может быть внешний бордюр (часть исходного изображения) который не разрезается на части и помогает при сборке. Пазл может быть увеличен и снова уменьшен (для работы на устройствах с маленьким экраном). Пазл сохраняется в файл с именем p<id_картинки>_<rows>_<cols>.puz (например p107_6_8.puz). При повторном сборе пазла вся информация берется из этого файла.
По мере сбора пазлы ячейки оказывающиеся на своем месте лишаются бордюра и пазла постепенно проявляется (см. рисунок). У пазлы может быть внешний бордюр (часть исходной картинки), который не разрезается на ячейки и помогает при её сборке. Пазла может быть увеличена и снова уменьшена (для работы на устройствах с мелким экраном). Пазла сохраняется в файле с именем p<id_картинки>_<rows>_<cols>.puz (например p107_6_8.puz). При повторном её собирании последний процесс сбора пазлы будет загружен из этого файла.  
 
  
== Цикл жизни ==
 
 
Игра проходит следующие этапы:
 
  
* пазла невидима время tmBeg (состояние beg);
+
== Игровые механики и режимы пазла ==
* пазла проявляется в течении tmOpn по alpha от 0 до заданной в общих параметрах (состояние open);
+
Возможны две игровые механики пазла: обычная, когда  все ячейки есть на игровом поле, и пятнашки,  когда одной ячейки нет (аналог обычных пятнашек). Есть три режима обычной механики: легкий, эксперт и мастер. Режим эксперт отличается от легкого режима лишь количеством ячеек на которые разбивается  исходное изображение (в режиме эксперт их больше). В режиме мастер столько же ячеек, сколько и в режиме эксперт, лишь добавлена возможность поворота ячеек по часовой стрелке вокруг своих центров (подробнее см. описание поворота в разделе параметры). Ячейка поворачивается при повторном клике на нее мышью.
* пазла показывает исходную картинку в течении tmStt (состояние start);
+
 
* происходит перемешивание, визуализация которого длится время tmMix (состояние mix);
+
 
* основной цикл игры; когда она заканчивается - переход в состояние final;
+
== Параметры пазла ==
* в состоянии final показывается исходная картинка в течении времени tmFin.
+
''(Курсивом в скобках указан id параметра, или состояния)''
* затем, картинка исчезает по alpha до 0 (состояние close)
+
 
* пазла невидима (состояние end)
+
*'''Внешний вид'''
 +
:'''Картинка''' ''(res)'' — это исходное изображение (графический ресурс) которое нужно собрать;
 +
:'''Колонок''' ''(cols)'' — количество колонок, на которые разбивается картинка;
 +
:'''Строчек''' ''(rows)'' — количество строчек (рядов), на которые разбивается картинка;
 +
:'''Сетка?''' ''(g)'' — если 1 —  отображается сетка после разделения картинки на ячейки. Если 0 — сетка не отображается;
 +
:'''Пометка''' ''(alChk)'' — прозрачность выбранной ячейки пазла в диапазоне от нуля (полностью прозрачна, или невидима) до единицы (полностью не прозрачна, или видима);
 +
:'''Фон''' ''(alBkg)'' — прозрачность (от нуля до единицы) исходной картинки, отображаемой под пазлом в игровом поле;
 +
:'''Ширина пазла''' ''(vW)'' — размер ширины игрового поля в пикселях;
 +
:'''Высота пазла''' ''(vH)'' — размер высоты игрового поля в пикселях;
 +
:'''Маска''' ''(msk)'' — графический ресурс (изображение), которое накладывается на картинку (например текстура для придания изображению рельефности);
 +
:'''Рамка''' ''(fr)'' — графический ресурс для рамки по краям ячейки;
 +
:'''Флаер''' ''(fly)'' — флаер (подробнее см. объект редактора «флаер»), изображающий удачный ход. Он будет запущен над ячейкой которая встала на свое место.
 +
 
 +
*'''Звуки''' ''(Звуковые ресурсы перетаскивается мышью из редактора ресурсов в поле параметра, которое должно находится в состоянии редактирования))''
 +
:'''Выбор''' ''(sDn)'' — звук при выборе ячейки;
 +
:'''Перестановка''' ''(sSh)'' — звук при перестановке ячеек;
 +
:'''На месте''' ''(sOk)'' — звук при становлении ячейки на нужное место.
 +
 
 +
*'''Смешивать'''
 +
:'''Перестановку''' ''(alSwp)'' — при поочередном выборе ячеек кликом мыши для перестановки, возможны два варианта визуализации этого процесса: первый (значение параметра 1) — ячейки остаются неподвижными, изменяются лишь их изображения по прозрачности (от нуля до единицы); второй (значение параметра 0) — происходит перемещение ячеек (ячейки меняются местами);
 +
:'''Вращение''' ''(alRot)'' — визуализацию поворот ячейки в режиме «мастер» возможно осуществить двумя способами: первый (значение параметра 1) — ячейка остается неподвижной, изменяется лишь ее изображение по прозрачности (от нуля до единицы); второй (значение параметра 0) — происходит поворот ячейки.
 +
 
 +
*'''Правила'''
 +
:'''Вращений''' ''(rot)'' — число возможных поворотов каждой ячейки пазла (0 — ячейки повернуть нельзя; 2 —  два варианта положения ячейки, или поворот на 180°; 4 — четыре варианта положения ячейки, или поворот на 90°);
 +
:'''Переставлять?''' ''(sw)'' — если 0 — ячейки нельзя переставлять местами путем поочередного выбора их мышью, 1 — можно;
 +
:'''Пятнашки''' ''(fif)'' — если 0 — обычная механика игры, 1 — играем в пятнашки (см. игровые механики и режимы пазла).
  
== Процесс игры ==
+
*'''Времена этапов'''
 +
:'''Невидимости''' ''(tmBeg)'' — время паузы перед открытием пазла;
 +
:'''Открытия''' ''(tmOpn)'' — время открытия картинки;
 +
:'''Показа''' ''(tmStt)'' — время отображения картинки перед тем, как она разделится на ячейки и перемешается. Это необходимо для того, чтобы игрок успел ознакомиться с изображением, которое ему необходимо собрать;
 +
:'''Перемешивания''' ''(tmMix)'' — время визуализации процесса перемешивания ячеек пазла;
 +
:'''Финала''' ''(tmFin)'' — время показа картнки когла она собрана. Это необходимо для того, чтобы игрок смог насладиться результатом своих стараний, а также смог повнимательнее разглядеть картинку;
 +
:'''Закрытия''' ''(tmCls)'' — время закрытия пазла (переход в состояние (close) по прозрачности (alpha) от единицы до нуля).
  
Управление игрой завист от того, выбрана ли мода игры 15-шки или стандартная пазла. Кроме этого, по разному выглядит управление, в зависимости от того, разрешены ли вращения или нет.  
+
*'''Счетчики'''
 +
:'''Таймер''' ''(time)'' — объект редактора [http://ge.absolutist.com/index.php/Timer/ «timer»] привязывается к пазлу и дает возможность собирать пазл определенное время, или использовать его для спортивного интереса, фиксирую время, за которое игрок соберет пазл. Таким образом игрок сможет с гордостью заявить своим друзьям, что он собрал пазл за такое-то время;
 +
:'''Лучшее время''' ''(tmBest)'' — самое короткое время, за которое игрок собрал пазл. Оно считается лучшим и фиксируется в опциях для использования в прогрессе (см. объект редактора «progress»);
 +
:'''Счетчик''' ''(count)'' — объект редактора «counter» привязывается к пазлу и фиксирует количество ходов;
 +
:'''Лучший счетчик''' ''(ctBest)'' — наименьшее количество ходов за которое пазл собран. Оно считается лучшим и фиксируется в опциях для использования в прогрессе;
 +
:'''Показов хинт счетчик''' ''(cntShw)'' —  объект редактора «counter» привязывается к пазлу и фиксирует количество оставшихся подсказок-отображения (hint), тип подсказки когда картинка отображается на некоторое время;
 +
:'''Перест. хинт счетчик''' ''(cntSwp)'' — объект редактора «counter» привязывается к пазлу и фиксирует количество оставшихся подсказок-перестановки (swap), тип подсказки когда выделенная, или произвольная ячейка становится на свое место;
 +
:'''Игра''' ''(game)'' — имя игры, раздел в опциях, который надо вычитать для получения начального значения прогресса (например, для отображения результатов);
 +
:'''Уровень''' ''(level)'' — имя уровня, параметра в разделе игра (см. выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). В опциях записывается как «имя игры».«имя уровня» (game.level);
 +
:'''Сохранять в профиль''' ''(prof)'' — если 1, то  все значения будут сохранены в текущий профиль, 0 — глобально.
  
В стандартной (не 15-шковой моде), первый клик на ячейку её подсвечивает. Если затем идет клик на другую ячейку, то они переставляются местами (если перестановки разрешены). При повторном клике на первую ячейку - она поворачивается (если повороты разрешены). В противном случае с неё снимается пометка
+
Хозяйке на заметку: Таким образом, с пазлой может быть связан таймер и три счетчика (числа ходов, и числа использования двух видов
 +
подсказок). Если, например, счетчик числа ходов определен, в опциях (файл options.xml) сохраняются данные подобного вида:
 +
 +
<obj nm="options" >
 +
    <pk1>
 +
      <pz01 lv0="2" lv0ct="7" />
 +
    </pk1>
 +
</obj>
 +
</pre>
 +
 +
В этом примере параметр «игра» записывается как «pk1.pz01», а параметр «уровень» —  «lv0». Эти параметры могут быть заданы как в
 +
свойствах пазла, так и внешними объектами. Наличие точки в параметре «игра» разбивает раздел опций на подразделы.
  
В моде игры 15-шки клик на ячейку её перемещает, если рядом находится пустая (невидимая ячейка), иначе ничего не происходит.
 
  
Если ячейка оказывается на своем месте, бордюр вокруг неё снимается и над ячейкой
+
*'''Времена игры'''
запускаются [[Flyer|флайеры]] (если они определены в настройках).  
+
:'''Перестановки''' ''(tmSwp)'' — время перестановки двух ячеек местами;
 +
:'''Поворота''' ''(tmRot)'' — время поворота ячейки;
 +
:'''Паузы''' ''(tmShw)'' — время паузы перед началом перестановки или поворота;
 +
:'''Подсказки1''' ''(tmHnt1)'' — время за которое проявляется исходная картинка в состоянии (hint);
 +
:'''Подсказки2''' ''(tmHnt2)'' — время в течении которого показывается исходная картинка в состоянии (hint) после проявления;
 +
:'''Подсказки3''' ''(tmHnt3)'' — время в течении которого закрывается исходная картинка в состоянии (hint) после проявления.
  
== Хинты ==
+
*'''Рейтинг''' ''(raiting)'' — если 1 — после того, как пазл собран показать рейтинг.
  
В игре есть два хинта: hint и swap. Первый проявляет исходную картинку, второй переставляет две ячейки местами, из которых, по крайней мере одна, окажется на своем месте.
 
  
Если кнопкой или машиной состояний перевести пазлу в состояние '''hint''', то она по альфа исчезнет (за время tmHnt1), а исходная картинка проявится. Затем, в течении tmHnt2, будет демонстрироваться исходная картинка, и за время tmHnt3 она по alpha исчезнет, а пазла снова перейдет в стадию игры.
+
== Подсказки ==
 +
В игре есть два вида подсказок: (hint) и (swap). Первый проявляет исходную картинку, второй переставляет две ячейки местами, из которых, по крайней мере одна, окажется на своем месте.
 +
Если кнопкой или машиной состояний перевести пазл в состояние (hint), то он исчезнет по прозрачности (за время tmHnt1), а исходная картинка проявится. Затем, в течении tmHnt2, будет демонстрироваться исходная картинка, и за время tmHnt3, она по прозрачности исчезнет, а пазл снова перейдет в стадию игры.
 +
Состояние (swap) ставит одну из ячеек (выделенную игроком, или произвольную) на свое место.
 +
Кроме этого пазл можно перевести в состояние (scale). В этом состоянии он увеличивается в размерах и его можно таскать по экрану. Повторение состояния (scale) уменьшает возвращает пазлу исходные размеры.  
  
Аналогично, состояние '''swap''' ставит одну из ячеек на свое место. Если при активировании этого хинта одна из ячеек была игроком выбрана, то на свое место перелетает она. Если выбранных ячеек нет, случайным образом выбирается одна из ячеек (которая стоит не на своем месте) и перемешается туда, где ей положено быть.
 
  
Кроме этого пазлу можно перевести в состояние '''scale''' в котором она увеличится в своих размерах. В этом состоянии её можно таскать по всему экрану. Повторное состояние scale - уменьшает её в размерах.
+
== Возможные состояния объекта ==
 +
:''(beg)'' — пауза перед состоянием ''(open)'';
 +
:''(open)'' — картнка появлятся по прозрачности от нуля до единицы;
 +
:''(start)'' — начальный показ картинки;
 +
:''(mix)'' — перемещать ячейки;
 +
:''(scale)'' — масштабирование (изменение размера) пазла;
 +
:''(wait)'' — ожидание первого клика на ячейку;
 +
:''(check)'' — проверка собранности пазла, если собран — переход в состояние ''(final)'';
 +
:''(hint)'' — временное отбраджение картинки;
 +
:''(swap)'' — выделенная, или произвольная ячейка становится на свое место;
 +
:''(final)'' — показ картинки в конце игры;
 +
:''(close)'' — закрытие пазла по прозрачности;
 +
:''(end)'' — конец игры, пазл недоступен;
 +
:''(init)'' — повторная инициализация картинки, переход в состояние ''(beg)''.
  
== Настройки: внешний вид ==
 
  
Раздел настроек пазлы, определяющий её внешний вид выглядит следующим образом:
 
* ''внешний вид''
 
** '''картинка''' - графический ресурс картинки пазлы. Перетаскивается мышкой из редактора ресурсов (res)
 
** '''колонок''' - число колонок на которые разбивается пазла. (cols)
 
** '''строчек''' - число строчек на которые разбивается пазла. (rows)
 
** '''сетка?''' - если 1, то будет показана сетка при разрезке картинки на блоки. При 0 - сетки не будет. (g)
 
** '''пометка''' - прозрачность помеченной ячеки (от 0-невидима, до 1-полностью непрозрачна). (alChk)
 
** '''фон''' - прозрачность исходной картинки, рисуемой под пазлой (если 0, то не рисуется). (alBkg)
 
** '''ширина пазлы''' - ширина области пазла в пикселах (число колонок * ширину ячейки) (vW)
 
** '''высота пазлы''' - высота области пазла в пикселах (число строк * высоту ячейки) (vH)
 
** '''рамка''' - графический ресурс для рамки вокруг ячейки (fr)
 
** '''флаер''' -  флаер изображающий удачный ход. Он будет запущен над ячейкой которая встала на свое место (fly).
 
* ''смешивать''
 
** '''перестановку''' - если 1, то при перестановке ячеек происходит смешивание по alpha, иначе ячейки перелетают. (alSwp)
 
** '''вращение''' - если 1, то при вращении ячейки происходит смешивание по alpha, иначе ячейка поворачивается. (alRot)
 
  
 
Для придания ячейкам объема служит графический ресурс '''рамка'''. Он может быть квадратной картинкой, прозрачной в центре и с серой полупрозрачной маской на краях. Её размер особой роли не играет. Например, 128x128:
 
Для придания ячейкам объема служит графический ресурс '''рамка'''. Он может быть квадратной картинкой, прозрачной в центре и с серой полупрозрачной маской на краях. Её размер особой роли не играет. Например, 128x128:
Строка 62: Строка 112:
 
'''высота пазлы''', которые определяют размер центральной области картинки, которая разрезается на ячейки. Если эта область меньше размеров картинки, появится внешний бордюр, помогающий при сборке.
 
'''высота пазлы''', которые определяют размер центральной области картинки, которая разрезается на ячейки. Если эта область меньше размеров картинки, появится внешний бордюр, помогающий при сборке.
  
== Настройки: правила ==
 
 
* ''правила''
 
** '''вращений''' - число возможных углов поворота каждой ячейки пазлы (если 0 - то вращать ячейки нельзя). (rot)
 
** '''переставлять?''' - если 1, то можно переставлять ячейки местами. (swp)
 
** '''пятнашки''' - если 1, то играем по правилам пятнашек (одна ячека - нижняя левая, невидимая). (fif)
 
 
== Настройки: счетчики ==
 
  
* ''счетчики''
 
** '''таймер''' - таймер, связанный с пазлой. Это объект [[timer]], который будет показывать время прошедшее с начала сбора пазлы (timer).
 
** '''лучшее время"''' - время, меньше которого считается лучшим (помечается в опциях для использования в прогрессе) (tmBest).
 
** '''счетчик''' - счетчик сделанных ходов. Это объект [[counter]] показывающий число перестановок ячеек с начала игры. (count)
 
** '''лучший счетчик''' - счет ходов, меньше которого считается лучшим (помечается в опциях для использования в прогрессе) (ctBest)
 
** '''показов хинт счетчик''' - [[counter|счетчик]] числа сделанных хинтов показа картинки. Может находиться рядом с кнопкой, вызывающей запуск хинта. (cntShw)
 
** '''перест. хинт счетчик''' - [[counter|счетчик]] cчетчик числа сделанных хинтов перестановки ячеек.
 
** '''игра''' - имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов) (game)
 
** '''уровень''' - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для достжений запись будет равна [game.]level=1, для счетчика [game.]level+ct=число,  для времени [game.]level+tm=время (level)
 
  
 
Таким образом, с пазлой может быть связан таймер и три счетчика (числа ходов, и числа использования двух видов хинтов). Если, например, счетчик числа ходов определен,  
 
Таким образом, с пазлой может быть связан таймер и три счетчика (числа ходов, и числа использования двух видов хинтов). Если, например, счетчик числа ходов определен,  

Версия 08:24, 24 января 2013

Puzzle1.png

Пазл (puzzle) — встроенный объект редактора, имеющий определенную игровую механику, которая заключается в том, чтобы собрать необходимое изображение из прямоугольных ячеек (частей). Ячейки пазла можно переставлять и вращать. По мере сбора пазла ячейки, оказывающиеся на своем месте, лишаются бордюра и пазл постепенно проявляется (см. рис. 1). У пазла может быть внешний бордюр (часть исходного изображения) который не разрезается на части и помогает при сборке. Пазл может быть увеличен и снова уменьшен (для работы на устройствах с маленьким экраном). Пазл сохраняется в файл с именем p<id_картинки>_<rows>_<cols>.puz (например p107_6_8.puz). При повторном сборе пазла вся информация берется из этого файла.


Игровые механики и режимы пазла

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


Параметры пазла

(Курсивом в скобках указан id параметра, или состояния)

  • Внешний вид
Картинка (res) — это исходное изображение (графический ресурс) которое нужно собрать;
Колонок (cols) — количество колонок, на которые разбивается картинка;
Строчек (rows) — количество строчек (рядов), на которые разбивается картинка;
Сетка? (g) — если 1 — отображается сетка после разделения картинки на ячейки. Если 0 — сетка не отображается;
Пометка (alChk) — прозрачность выбранной ячейки пазла в диапазоне от нуля (полностью прозрачна, или невидима) до единицы (полностью не прозрачна, или видима);
Фон (alBkg) — прозрачность (от нуля до единицы) исходной картинки, отображаемой под пазлом в игровом поле;
Ширина пазла (vW) — размер ширины игрового поля в пикселях;
Высота пазла (vH) — размер высоты игрового поля в пикселях;
Маска (msk) — графический ресурс (изображение), которое накладывается на картинку (например текстура для придания изображению рельефности);
Рамка (fr) — графический ресурс для рамки по краям ячейки;
Флаер (fly) — флаер (подробнее см. объект редактора «флаер»), изображающий удачный ход. Он будет запущен над ячейкой которая встала на свое место.
  • Звуки (Звуковые ресурсы перетаскивается мышью из редактора ресурсов в поле параметра, которое должно находится в состоянии редактирования))
Выбор (sDn) — звук при выборе ячейки;
Перестановка (sSh) — звук при перестановке ячеек;
На месте (sOk) — звук при становлении ячейки на нужное место.
  • Смешивать
Перестановку (alSwp) — при поочередном выборе ячеек кликом мыши для перестановки, возможны два варианта визуализации этого процесса: первый (значение параметра 1) — ячейки остаются неподвижными, изменяются лишь их изображения по прозрачности (от нуля до единицы); второй (значение параметра 0) — происходит перемещение ячеек (ячейки меняются местами);
Вращение (alRot) — визуализацию поворот ячейки в режиме «мастер» возможно осуществить двумя способами: первый (значение параметра 1) — ячейка остается неподвижной, изменяется лишь ее изображение по прозрачности (от нуля до единицы); второй (значение параметра 0) — происходит поворот ячейки.
  • Правила
Вращений (rot) — число возможных поворотов каждой ячейки пазла (0 — ячейки повернуть нельзя; 2 — два варианта положения ячейки, или поворот на 180°; 4 — четыре варианта положения ячейки, или поворот на 90°);
Переставлять? (sw) — если 0 — ячейки нельзя переставлять местами путем поочередного выбора их мышью, 1 — можно;
Пятнашки (fif) — если 0 — обычная механика игры, 1 — играем в пятнашки (см. игровые механики и режимы пазла).
  • Времена этапов
Невидимости (tmBeg) — время паузы перед открытием пазла;
Открытия (tmOpn) — время открытия картинки;
Показа (tmStt) — время отображения картинки перед тем, как она разделится на ячейки и перемешается. Это необходимо для того, чтобы игрок успел ознакомиться с изображением, которое ему необходимо собрать;
Перемешивания (tmMix) — время визуализации процесса перемешивания ячеек пазла;
Финала (tmFin) — время показа картнки когла она собрана. Это необходимо для того, чтобы игрок смог насладиться результатом своих стараний, а также смог повнимательнее разглядеть картинку;
Закрытия (tmCls) — время закрытия пазла (переход в состояние (close) по прозрачности (alpha) от единицы до нуля).
  • Счетчики
Таймер (time) — объект редактора «timer» привязывается к пазлу и дает возможность собирать пазл определенное время, или использовать его для спортивного интереса, фиксирую время, за которое игрок соберет пазл. Таким образом игрок сможет с гордостью заявить своим друзьям, что он собрал пазл за такое-то время;
Лучшее время (tmBest) — самое короткое время, за которое игрок собрал пазл. Оно считается лучшим и фиксируется в опциях для использования в прогрессе (см. объект редактора «progress»);
Счетчик (count) — объект редактора «counter» привязывается к пазлу и фиксирует количество ходов;
Лучший счетчик (ctBest) — наименьшее количество ходов за которое пазл собран. Оно считается лучшим и фиксируется в опциях для использования в прогрессе;
Показов хинт счетчик (cntShw) — объект редактора «counter» привязывается к пазлу и фиксирует количество оставшихся подсказок-отображения (hint), тип подсказки когда картинка отображается на некоторое время;
Перест. хинт счетчик (cntSwp) — объект редактора «counter» привязывается к пазлу и фиксирует количество оставшихся подсказок-перестановки (swap), тип подсказки когда выделенная, или произвольная ячейка становится на свое место;
Игра (game) — имя игры, раздел в опциях, который надо вычитать для получения начального значения прогресса (например, для отображения результатов);
Уровень (level) — имя уровня, параметра в разделе игра (см. выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). В опциях записывается как «имя игры».«имя уровня» (game.level);
Сохранять в профиль (prof) — если 1, то все значения будут сохранены в текущий профиль, 0 — глобально.
Хозяйке на заметку: Таким образом, с пазлой может быть связан таймер и три счетчика (числа ходов, и числа использования двух видов
подсказок). Если, например, счетчик числа ходов определен, в опциях (файл options.xml) сохраняются данные подобного вида:

<obj nm="options" >
   <pk1>
      <pz01 lv0="2" lv0ct="7" />
   </pk1>
</obj>
В этом примере параметр «игра» записывается как «pk1.pz01», а параметр «уровень» —  «lv0». Эти параметры могут быть заданы как в
свойствах пазла, так и внешними объектами. Наличие точки в параметре «игра» разбивает раздел опций на подразделы.


  • Времена игры
Перестановки (tmSwp) — время перестановки двух ячеек местами;
Поворота (tmRot) — время поворота ячейки;
Паузы (tmShw) — время паузы перед началом перестановки или поворота;
Подсказки1 (tmHnt1) — время за которое проявляется исходная картинка в состоянии (hint);
Подсказки2 (tmHnt2) — время в течении которого показывается исходная картинка в состоянии (hint) после проявления;
Подсказки3 (tmHnt3) — время в течении которого закрывается исходная картинка в состоянии (hint) после проявления.
  • Рейтинг (raiting) — если 1 — после того, как пазл собран показать рейтинг.


Подсказки

В игре есть два вида подсказок: (hint) и (swap). Первый проявляет исходную картинку, второй переставляет две ячейки местами, из которых, по крайней мере одна, окажется на своем месте. Если кнопкой или машиной состояний перевести пазл в состояние (hint), то он исчезнет по прозрачности (за время tmHnt1), а исходная картинка проявится. Затем, в течении tmHnt2, будет демонстрироваться исходная картинка, и за время tmHnt3, она по прозрачности исчезнет, а пазл снова перейдет в стадию игры. Состояние (swap) ставит одну из ячеек (выделенную игроком, или произвольную) на свое место. Кроме этого пазл можно перевести в состояние (scale). В этом состоянии он увеличивается в размерах и его можно таскать по экрану. Повторение состояния (scale) уменьшает возвращает пазлу исходные размеры.


Возможные состояния объекта

(beg) — пауза перед состоянием (open);
(open) — картнка появлятся по прозрачности от нуля до единицы;
(start) — начальный показ картинки;
(mix) — перемещать ячейки;
(scale) — масштабирование (изменение размера) пазла;
(wait) — ожидание первого клика на ячейку;
(check) — проверка собранности пазла, если собран — переход в состояние (final);
(hint) — временное отбраджение картинки;
(swap) — выделенная, или произвольная ячейка становится на свое место;
(final) — показ картинки в конце игры;
(close) — закрытие пазла по прозрачности;
(end) — конец игры, пазл недоступен;
(init) — повторная инициализация картинки, переход в состояние (beg).


Для придания ячейкам объема служит графический ресурс рамка. Он может быть квадратной картинкой, прозрачной в центре и с серой полупрозрачной маской на краях. Её размер особой роли не играет. Например, 128x128:

Border.png

Общая ширина и высота картинки пазлы задает игровое поле. Кроме этого есть поля ширина пазлы и высота пазлы, которые определяют размер центральной области картинки, которая разрезается на ячейки. Если эта область меньше размеров картинки, появится внешний бордюр, помогающий при сборке.


Таким образом, с пазлой может быть связан таймер и три счетчика (числа ходов, и числа использования двух видов хинтов). Если, например, счетчик числа ходов определен, в опциях (файл options.xml) сохраняются данные подобного вида:

<obj nm="options" >
   <pk1>
      <pz01 lv0="2" lv0ct="7" />
   </pk1>
</obj>

В этом пример параметр игра равен "pk1.pz01", а параметр уровень равен "lv0". Эти параметры могут быть заданы в свойствах пазлы, так и внешними объектами (например, кнопками выбора уровня сложности - lv0, lv1 или кнопками выбора картинки для сбора "pk1.pz01", "pk1.pz02",...). Наличие точки в параметре игра разбивает раздел опций на подразделы. Для каждой игры и уровня, будет записано число сделанных ходов (до полного разбора) с суффиксом "ct" после уровень . Выше это lv0ct="7". Кроме этого будет запись lv0="1" или lv0="2", в зависимости от того, превысило или нет число ходов значение лучший счетчик. Этот параметр служит для изображения эчивмесов (объект progress). Если lv0="1" - это "серебрянная звездочка", lv0="2" - "золотая".

Настройки: времена

  • времена этапов
    • невидимости - начальная пауза перед откртыием пазлы. (tmBeg)
    • открытия - время открытия исходной картинки (проявляется по alpha). (tmOpn)
    • показа - время показа исходной картинки (после проявления). (tmStt)
    • перемешивания - время визуализации процесса перемешивания ячеек. (tmMix)
    • финала - время финального показа пазлы после её разбора, перед переходом к закрытию. (tmFin)
    • закрытия - время закрытия пазлы (в состояниия close, исчезает по alpha). (tmCls)
  • времена игры
    • перестановки - аремя перестановки двух ячеек местами при их выборе. (tmSwp)
    • поворота - время поворота ячейки при повторном клике на нее. (tmRot)
    • паузы - время паузы перед началом перстановки или поворота. (tmShw)
    • подсказки1 - время за которое проявляется исходная картинка в состоянии hint. (tmHnt1)
    • подсказки2 - время в течении которого показывается после проявления исходная картинка в состоянии hint. (tmHnt2)
    • подсказки3 - время в течении которого закрывается после показа исходная картинка в состоянии hint. tmHnt3

Настройки: остальные

  • звуки
    • выбор - звуковой ресурс для проигрывания натжатия на ячейку. Перетаскивается мышкой из редактора ресурсов (sDn)
    • перестановка - Звуковой ресурс для проигрывания перестановки ячеек (sSh)
    • на месте - Звуковой ресурс для проигрывания события когда ячейки становится на свое место (sOk)

Добавляемые разделы

  • изменить состояние объекта
    • объект - после разбора перевести объект в состояние из следующего поля. (obj)
    • состояние - новое состояние для объекта из предыдущего поля. (st)
  • изменить параметр объекта
    • объект - после разбора этот объект меняет свой параметр. (obj)
    • свойство - параметр, который мы изменяем. (par)
    • значение - новое значение параметра. (val)

Состояния

  • beg - пауза перед состоянием open; пазла невидима
  • open - появляется по alpha-каналу
  • start - начальный показ картинки
  • mix - перемешать ячейки
  • scale - уменьшаем или увеличиваем размер пазлы
  • wait1 - ждем первого клика на ячейку
  • check - проверка собранности картинки; если собрана - переход на final
  • hint - временно показать исходную картинку, проявляясь по alpha
  • swap - выделенная или если нет случайная ячейка перелетает на место
  • final - перейти в показ исходной картинки
  • close - исчезает по alpha-каналу
  • end - недоступна, невидима
  • init - повторная инициализация картинки; переход в beg