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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Новая страница: «'''Пазла''' (puzzle) - минигра, состоящая в собирании картинки, разрезанной на прямоугольные яч...»)
 
м
 
(не показана 61 промежуточная версия 10 участников)
Строка 1: Строка 1:
'''Пазла''' (puzzle) - минигра, состоящая в собирании картинки, разрезанной на прямоугольные ячейки. Ячейки можно вращать и/или переставлять. Возможны 2 игровые механики, когда все ячейки есть на игровом поле и когда одной нет (аналог - игра 15-шки).
+
{{TOC right}}
  
== Цикл жизни ==
+
[[Файл:puzzle1.png|right]]
 +
'''Пазл''' (puzzle) — встроенный [[Object|объект]] редактора, имеющий определенную игровую механику, которая заключается в том, чтобы собрать необходимое изображение из прямоугольных ячеек (частей) за минимальное количество шагов (перемещений частей пазла). <br>
 +
 
 +
== Немного о графике ==
 +
Для придания ячейкам объема служит графический ресурс рамка (собственный бордюр ячейки). Он может быть квадратной картинкой, прозрачной в центре и с серой полупрозрачной маской на краях. Её размер особой роли не играет. Например, 128x128:
 +
 
 +
[[Файл:border.png|right]]
 +
Общая ширина и высота картинки пазла задает игровое поле. Кроме этого есть поля ширина пазла и высота пазла, которые определяют размер центральной области картинки, которая разбивается на ячейки. Если эта область меньше размеров картинки, появится внешний бордюр, помогающий при сборке.
 +
 
 +
== Игровые механики и режимы пазла ==
 +
*Ячейки пазла можно переставлять и вращать. По мере сбора пазла ячейки, оказывающиеся на своем месте, лишаются собственного бордюра и пазл постепенно проявляется  <br>
 +
*У пазла может быть внешний бордюр (часть исходного изображения), который не разрезается на части и помогает при сборке.
 +
* Пазл может быть увеличен и снова уменьшен<br>
 +
 
 +
Возможны две игровые механики пазла: <br>
 +
* обычная -  все ячейки есть на игровом поле<br>
 +
*  пятнашки - одной ячейки нет (аналог обычных пятнашек). <br>
 +
 
 +
'''''Замечание.''''' Чтобы корректно работала механика "пятнашки", в правилах нужно указать значение 1 для параметров "переставлять?" и "пятнашки". Если в "переставлять?" будет значение 0, то пазл будет запускаться с механикой "пятнашки", но уже в собранном виде.
 +
 
 +
Существует три уровня сложности сбора пазла с обычной механикой :
 +
* Легкий
 +
* Эксперт
 +
* Мастер
 +
Режим «Эксперт» отличается от режима «Легкий» количеством ячеек, на которые разбивается  исходное изображение (в режиме «Эксперт» их больше). <br>
 +
В режиме мастер столько же ячеек, сколько и в режиме эксперт, лишь добавлена возможность поворота ячеек по часовой стрелке вокруг своих центров (подробнее см. описание поворота в разделе параметры). Ячейка  пазла поворачивается при повторном клике на нее мышью. <br>
 +
 
 +
== Важное замечание ==
 +
В процессе сбора пазла на устройство сохраняются файлы, в которые записывается информация о ходе игры (какие пазлики на месте, а какие  - нет). Структура  имени файла, сохраняемого на устройство p<id_картинки>_<rows>_<cols>.puz  (например p107_6_8.puz) . <br>
 +
При повторном сборе пазла или повторном открытии загружается  информация из этих файлов, т.е. мы увидим то же состояние пазла, что и  перед выходом с этого экрана. Рекомендуется создать кнопку, дающую пользователю возможность начать игру с начала. . <br>
 +
 
 +
== Основные параметры пазла ==
 +
''(Курсивом в скобках указан id параметра, или состояния)''
 +
 
 +
'''Группа - внешний вид'''
 +
*'''Картинка''' ''(res)'' — это исходное изображение (графический ресурс) которое нужно собрать;
 +
*'''Колонок''' ''(cols)'' — количество колонок, на которые разбивается картинка;
 +
*'''Строчек''' ''(rows)'' — количество строчек (рядов), на которые разбивается картинка;
 +
*'''Сетка?''' ''(g)'' — отображение сетки:
 +
:'''1''' — отображается сетка после разделения картинки на ячейки,
 +
:'''0''' — сетка не отображается;
 +
*'''Пометка''' ''(alChk)'' — прозрачность выбранной ячейки пазла в диапазоне от нуля (полностью прозрачна, или невидима) до единицы (полностью не прозрачна, или видима);
 +
*'''Фон''' ''(alBkg)'' — прозрачность (от нуля до единицы) исходной картинки, отображаемой под пазлом в игровом поле;
 +
*'''Ширина пазла''' ''(vW)'' — размер ширины игрового поля в пикселях;
 +
*'''Высота пазла''' ''(vH)'' — размер высоты игрового поля в пикселях;
 +
*'''Маска''' ''(msk)'' — графический ресурс (изображение), которое накладывается на картинку (например текстура для придания изображению рельефности);
 +
*'''Рамка''' ''(fr)'' — графический ресурс для рамки по краям ячейки;
 +
*'''Рамка активной''' ''(fra)'' — графический ресурс для рамки вокруг активной ячейки;
 +
*'''Рамка соседей''' ''(frn)'' — графический ресурс для рамок вокруг соседних ячеек;
 +
*'''Флаер''' ''(fly)'' — флаер (подробнее см. объект редактора [http://ge.absolutist.com/index.php/Flyer «флаер»]), изображающий удачный ход. Он будет запущен над ячейкой которая встала на свое место.
 +
 
 +
 
 +
'''Группа - звуки''' ''(Звуковые ресурсы перетаскивается мышью из редактора ресурсов в поле параметра, которое должно находится в состоянии редактирования))''
 +
*'''Выбор''' ''(sDn)'' — звук при выборе ячейки;
 +
*'''Перестановка''' ''(sSh)'' — звук при перестановке ячеек;
 +
*'''На месте''' ''(sOk)'' — звук при становлении ячейки на нужное место.
 +
 
 +
 
 +
'''Группа - смешивать'''
 +
*'''Перестановку''' ''(alSwp)'' — при поочередном выборе ячеек кликом мыши для перестановки, возможны два варианта визуализации этого процесса:
 +
:'''1''' — ячейки остаются неподвижными, изменяются лишь их изображения по прозрачности (от нуля до единицы);
 +
:'''0''' — происходит перемещение ячеек (ячейки меняются местами);
 +
*'''Вращение''' ''(alRot)'' — визуализацию поворот ячейки в режиме «мастер» возможно осуществить двумя способами:
 +
:'''1''' — ячейка остается неподвижной, изменяется лишь ее изображение по прозрачности (от нуля до единицы);
 +
:'''0''' — происходит поворот ячейки.
 +
 
 +
 
 +
'''Группа - правила'''
 +
*'''Вращений''' ''(rot)'' — число возможных поворотов каждой ячейки пазла:
 +
:'''0''' — ячейки повернуть нельзя;
 +
:'''2''' — два варианта положения ячейки, или поворот на 180°;
 +
:'''4''' — четыре варианта положения ячейки, или поворот на 90°;
 +
*'''Переставлять?''' ''(swp)'' — переставление ячеек местами путем поочередного выбора их мышью:
 +
:'''0''' — нельзя,
 +
:'''1''' — можно;
 +
*'''Пятнашки''' ''(fif)'' — механика игры:
 +
:'''0''' — обычная механика игры,
 +
:'''1''' — играем в пятнашки (см. игровые механики и режимы пазла);
 +
*'''Соседи''' ''(nei)'' — какие ячейки можно переставлять:
 +
:'''0''' - переставлять можно любые ячейки,
 +
:'''1''' — переставлять можно только соседние элементы.
 +
*'''Таскать''' ''(is_drag)'' — ячейки смениваются только поочередными кликами или еще дропом одну на другую:
 +
:'''0''' - нельзя,
 +
:'''1''' — можно.
 +
 
 +
 
 +
'''Группа - времена этапов'''
 +
*'''Невидимости''' ''(tmBeg)'' — время паузы перед открытием пазла;
 +
*'''Открытия''' ''(tmOpn)'' — время открытия картинки;
 +
*'''Показа''' ''(tmStt)'' — время отображения картинки перед тем, как она разделится на ячейки и перемешается. Это необходимо для того, чтобы игрок успел ознакомиться с изображением, которое ему необходимо собрать;
 +
*'''Перемешивания''' ''(tmMix)'' — время визуализации процесса перемешивания ячеек пазла;
 +
*'''Финала''' ''(tmFin)'' — время показа картинки когда она собрана. Это необходимо для того, чтобы игрок смог насладиться результатом своих стараний, а также смог повнимательнее разглядеть картинку;
 +
*'''Закрытия''' ''(tmCls)'' — время закрытия пазла (переход в состояние (close) по прозрачности (alpha) от единицы до нуля).
 +
 
 +
 
 +
'''Группа - счетчики'''
 +
*'''Таймер''' ''(timer)'' — объект редактора [http://ge.absolutist.com/index.php/Timer «timer»] привязывается к пазлу и дает возможность собирать пазл определенное время, или использовать его для спортивного интереса, фиксируя время, за которое игрок соберет пазл. Таким образом игрок сможет с гордостью заявить своим друзьям, что он собрал пазл за такое-то время;
 +
*'''Лучшее время''' ''(tmBest)'' — самое короткое время, за которое игрок собрал пазл. Оно считается лучшим и фиксируется в опциях для использования в прогрессе (см. объект редактора «progress»);
 +
*'''Счетчик''' ''(count)'' — объект редактора [http://ge.absolutist.com/index.php/Counter «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>
 +
</pre>
 +
 +
В этом примере параметр «игра» записывается как «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)'' уменьшает возвращает пазлу исходные размеры.
 +
 
 +
== Добавляемые параметры ==
 +
 
 +
 
 +
[[Файл:Paz add par.jpg|right]]
 +
Меню выбора ''Добавляемые параметры'' к объектам активируется по правой кнопки мыши.
 +
 
 +
[[Файл:+.png]] '''Изменить состояние объекта''' - После разбора перевести объект в новое состояние.
 +
*'''объект'''- после разбора перевести объект в состояние из следующего поля.
 +
*'''состояние''' - новое состояние для объекта из предыдущего поля.
 +
 
 +
[[Файл:+.png]] '''Изменить параметр объекта''' - После разбора изменить параметр объекта.
 +
*'''объект'''- после разбора этот объект меняет свой параметр.
 +
*'''свойство''' - параметр, который мы изменяем.
 +
*'''значение''' - новое значение параметра.
 +
 
 +
[[Файл:+.png]] '''Хинт запущен: изменить состояние объекта''' - перевести объект в состояние, при начале хинта ( включить маску).
 +
*'''объект'''- после разбора перевести объект в состояние из следующего поля.
 +
*'''состояние''' - новое состояние для объекта из предыдущего поля.
 +
 
 +
[[Файл:+.png]] '''Хинт завершён: изменить состояние объекта''' - перевести объект в состояние, после завершения хинта ( разблокировать маску).
 +
*'''объект'''- после разбора перевести объект в состояние из следующего поля.
 +
*'''состояние''' - новое состояние для объекта из предыдущего поля.
 +
 
 +
== Возможные состояния объекта ==
 +
 
 +
:''(beg)'' — пауза перед состоянием ''(open)'';
 +
:''(open)'' — картинка появляется по прозрачности от нуля до единицы;
 +
:''(start)'' — начальный показ картинки;
 +
:''(mix)'' — перемещать ячейки;
 +
:''(scale)'' — масштабирование (изменение размера) пазла;
 +
:''(wait)'' — ожидание первого клика на ячейку;
 +
:''(check)'' — проверка собранности пазла, если собран — переход в состояние ''(final)'';
 +
:''(hint)'' — временное отображение картинки;
 +
:''(swap)'' — выделенная, или произвольная ячейка становится на свое место;
 +
:''(final)'' — показ картинки в конце игры;
 +
:''(close)'' — закрытие пазла по прозрачности;
 +
:''(end)'' — конец игры, пазл недоступен;
 +
:''(init)'' — повторная инициализация картинки, переход в состояние ''(beg)''.
 +
 
 +
== Пример ==
 +
Объект «Пазл» в редакторе выглядит так:
 +
 
 +
[[Файл:01.JPG]]
 +
 
 +
 
 +
Картинку пазла можно задать, перетянув изображение из редактора ресурсов в поле «картинка»:
 +
 
 +
[[Файл:02.JPG]]
 +
 
 +
 
 +
либо с помощью другого объекта (например кнопкой, или машиной):
 +
 
 +
[[Файл:6.2.JPG]]
 +
 
 +
 
 +
Выбор сложности игры делается отдельным экраном, на котором есть кнопки которые меняют параметры пазла:
 +
 
 +
[[Файл:6.3.JPG]]
  
* пазла невидима время tmBeg (состояние beg);
 
* пазла проявляется в течении tmOpn по alpha от 0 до заданной в общих параметрах (состояние open);
 
* пазла показывает исходную картинку в течении tmStt (состояние start);
 
* происходит перемешивание, визуализация которого длится время tmMix (состояние mix);
 
* основной цикл игры; когда она заканчивается - переход в состояние final;
 
* в состоянии final показывается исходная картинка в течении времени tmFin.
 
* затем, картинка исчезает по alpha до 0 (состояние close)
 
* пазла невидима (состояние end)
 
Кроме этого, в любой момент пазлу можно внешней кнопкой или машиной состояний перевести в состояние hint, в котором она по альфа исчезнет (за время tmHnt1), а исходная картинка проявится. Затем, в течении tmHnt2, будет демонстрироваться исходная картинка, и за время tmHnt3 она по alpha исчезнет, а пазла снова перейдет в стадию игры.
 
  
== Процесс игры ==
+
Выбор сложности на устройстве:
  
Управление игрой завист от того, выбрана ли мода игры 15-шки или стрнадртная пазла. Кроме этого, по разному выглядит управление, в зависимости от того, разрешены ли вращения или нет.
+
[[Файл:6.3.1.JPG]]
  
Если перестановки запрещены (есть только вращения), то при клике на ячейке она поворачивается, иначе - подсвечиватся. В моде игры 15-шки клик на ячейку её перемещает, если рядом находится пустая (невидимая ячейка), иначе ничего не происходит.
 
Повторный клик на первую ячейку или снимает пометку (если вращение запрещено), или поворачивает её по часовой стрелке. Если второй клик приходится на другую ячейку, то при разрешенных перестановках первая и вторая ячейка переставляются местами.
 
  
== Настройки ==
+
И, наконец, пазл на устройстве выглядит примерно так:
  
* '''внешний вид'''
+
[[Файл:6.4.JPG]]
** '''картинка''' - графический ресурс картинки пазлы. Перетаскивается мышкой из редактора ресурсов (res)
+
== Пример ==
** '''колонок''' - число колонок на которые разбивается пазла. (cols)
 
** '''строчек''' - число строчек на которые разбивается пазла. (rows)
 
** '''сетка?''' - если 1, то будет показана сетка при разрезке картинки на блоки. При 0 - сетки не будет. (g)
 
** '''пометка''' - прозрачность помеченной ячеки (от 0-невидима, до 1-полностью непрозрачна). (alChk)
 
** '''фон''' - прозрачность исходной картинки, рисуемой под пазлой (если 0, то не рисуется). (alBkg)
 
* '''смешивать'''
 
** '''перестановку''' - если 1, то при перестановке ячеек происходит смешивание по alpha, иначе ячейки перелетают. (alSwp)
 
** '''вращение''' - если 1, то при вращении ячейки происходит смешивание по alpha, иначе ячейка поворачивается. (alRot)
 
* '''правила'''
 
** '''вращений''' - число возможных углов поворота каждой ячейки пазлы (если 0 - то вращать ячейки нельзя). (rot)
 
** '''переставлять?''' - если 1, то можно переставлять ячейки местами. (swp)
 
** '''пятнашки''' - если 1, то играем по правилам пятнашек (одна ячека - нижняя левая, невидимая). (fif)
 
* '''времена этапов'''
 
** '''невидимости''' - начальная пауза перед откртыием пазлы. (tmBeg)
 
** '''открытия''' - время открытия исходной картинки (проявляется по alpha). (tmOpn)
 
** '''показа''' - время показа исходной картинки (после проявления). (tmStt)
 
** '''перемешивания''' - время визуализации процесса перемешивания ячеек. (tmMix)
 
** '''финала''' - время финального показа пазлы после её разбора, перед переходом к закрытию. (tmFin)
 
** '''закрытия''' - время закрытия пазлы (в состояниия close, исчезает по alpha). (tmCls)
 
* '''времена игры'''
 
** '''перестановки''' - аремя перестановки двух ячеек местами при их выборе. (tmSwp)
 
** '''поворота''' - время поворота ячейки при повторном клике на нее. (tmRot)
 
** '''паузы''' - время паузы перед началом перстановки или поворота. (tmShw)
 
** '''подсказки1''' - время за которое проявляется исходная картинка в состоянии hint. (tmHnt1)
 
** '''подсказки2''' - время в течении которого показывается после проявления исходная картинка в состоянии hint. (tmHnt2)
 
** '''подсказки3''' - время в течении которого закрывается после показа исходная картинка в состоянии hint. tmHnt3
 
* '''изменить состояние объекта'''
 
** '''объект''' - после разбора перевести объект в состояние из следующего поля. (obj)
 
** '''состояние''' - новое состояние для объекта из предыдущего поля. (st)
 
* '''изменить параметр объекта'''
 
** '''объект''' - после разбора этот объект меняет свой параметр. (obj)
 
** '''свойство''' - параметр, который мы изменяем. (par)
 
** '''значение''' - новое значение параметра. (val)
 
  
== Состояния ==
+
[http://fs5.absolutist.com/files/wikisample/Puzzle.rar Download]
  
* '''beg''' - пауза перед состоянием open; пазла невидима
+
[[Category:Game mechanic]]
* '''open''' - появляется по alpha-каналу
 
* '''start''' - начальный показ картинки
 
* '''mix''' - перемешать ячейки
 
* '''wait1''' - ждем первого клика на ячейку
 
* '''check''' - проверка собранности картинки; если собрана - переход на final
 
* '''hint''' - временно показать исходную картинку, проявляясь по alpha
 
* '''final''' - перейти в показ исходной картинки
 
* '''close''' - исчезает по alpha-каналу
 
* '''end''' - недоступна, невидима
 
* '''init''' - повторная инициализация картинки; переход в beg
 

Текущая версия на 10:39, 29 июля 2019

Puzzle1.png

Пазл (puzzle) — встроенный объект редактора, имеющий определенную игровую механику, которая заключается в том, чтобы собрать необходимое изображение из прямоугольных ячеек (частей) за минимальное количество шагов (перемещений частей пазла).

Немного о графике

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

Border.png

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

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

  • Ячейки пазла можно переставлять и вращать. По мере сбора пазла ячейки, оказывающиеся на своем месте, лишаются собственного бордюра и пазл постепенно проявляется
  • У пазла может быть внешний бордюр (часть исходного изображения), который не разрезается на части и помогает при сборке.
  • Пазл может быть увеличен и снова уменьшен

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

  • обычная - все ячейки есть на игровом поле
  • пятнашки - одной ячейки нет (аналог обычных пятнашек).

Замечание. Чтобы корректно работала механика "пятнашки", в правилах нужно указать значение 1 для параметров "переставлять?" и "пятнашки". Если в "переставлять?" будет значение 0, то пазл будет запускаться с механикой "пятнашки", но уже в собранном виде.

Существует три уровня сложности сбора пазла с обычной механикой :

  • Легкий
  • Эксперт
  • Мастер

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

Важное замечание

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

Основные параметры пазла

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

Группа - внешний вид

  • Картинка (res) — это исходное изображение (графический ресурс) которое нужно собрать;
  • Колонок (cols) — количество колонок, на которые разбивается картинка;
  • Строчек (rows) — количество строчек (рядов), на которые разбивается картинка;
  • Сетка? (g) — отображение сетки:
1 — отображается сетка после разделения картинки на ячейки,
0 — сетка не отображается;
  • Пометка (alChk) — прозрачность выбранной ячейки пазла в диапазоне от нуля (полностью прозрачна, или невидима) до единицы (полностью не прозрачна, или видима);
  • Фон (alBkg) — прозрачность (от нуля до единицы) исходной картинки, отображаемой под пазлом в игровом поле;
  • Ширина пазла (vW) — размер ширины игрового поля в пикселях;
  • Высота пазла (vH) — размер высоты игрового поля в пикселях;
  • Маска (msk) — графический ресурс (изображение), которое накладывается на картинку (например текстура для придания изображению рельефности);
  • Рамка (fr) — графический ресурс для рамки по краям ячейки;
  • Рамка активной (fra) — графический ресурс для рамки вокруг активной ячейки;
  • Рамка соседей (frn) — графический ресурс для рамок вокруг соседних ячеек;
  • Флаер (fly) — флаер (подробнее см. объект редактора «флаер»), изображающий удачный ход. Он будет запущен над ячейкой которая встала на свое место.


Группа - звуки (Звуковые ресурсы перетаскивается мышью из редактора ресурсов в поле параметра, которое должно находится в состоянии редактирования))

  • Выбор (sDn) — звук при выборе ячейки;
  • Перестановка (sSh) — звук при перестановке ячеек;
  • На месте (sOk) — звук при становлении ячейки на нужное место.


Группа - смешивать

  • Перестановку (alSwp) — при поочередном выборе ячеек кликом мыши для перестановки, возможны два варианта визуализации этого процесса:
1 — ячейки остаются неподвижными, изменяются лишь их изображения по прозрачности (от нуля до единицы);
0 — происходит перемещение ячеек (ячейки меняются местами);
  • Вращение (alRot) — визуализацию поворот ячейки в режиме «мастер» возможно осуществить двумя способами:
1 — ячейка остается неподвижной, изменяется лишь ее изображение по прозрачности (от нуля до единицы);
0 — происходит поворот ячейки.


Группа - правила

  • Вращений (rot) — число возможных поворотов каждой ячейки пазла:
0 — ячейки повернуть нельзя;
2 — два варианта положения ячейки, или поворот на 180°;
4 — четыре варианта положения ячейки, или поворот на 90°;
  • Переставлять? (swp) — переставление ячеек местами путем поочередного выбора их мышью:
0 — нельзя,
1 — можно;
  • Пятнашки (fif) — механика игры:
0 — обычная механика игры,
1 — играем в пятнашки (см. игровые механики и режимы пазла);
  • Соседи (nei) — какие ячейки можно переставлять:
0 - переставлять можно любые ячейки,
1 — переставлять можно только соседние элементы.
  • Таскать (is_drag) — ячейки смениваются только поочередными кликами или еще дропом одну на другую:
0 - нельзя,
1 — можно.


Группа - времена этапов

  • Невидимости (tmBeg) — время паузы перед открытием пазла;
  • Открытия (tmOpn) — время открытия картинки;
  • Показа (tmStt) — время отображения картинки перед тем, как она разделится на ячейки и перемешается. Это необходимо для того, чтобы игрок успел ознакомиться с изображением, которое ему необходимо собрать;
  • Перемешивания (tmMix) — время визуализации процесса перемешивания ячеек пазла;
  • Финала (tmFin) — время показа картинки когда она собрана. Это необходимо для того, чтобы игрок смог насладиться результатом своих стараний, а также смог повнимательнее разглядеть картинку;
  • Закрытия (tmCls) — время закрытия пазла (переход в состояние (close) по прозрачности (alpha) от единицы до нуля).


Группа - счетчики

  • Таймер (timer) — объект редактора «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) уменьшает возвращает пазлу исходные размеры.

Добавляемые параметры

Paz add par.jpg

Меню выбора Добавляемые параметры к объектам активируется по правой кнопки мыши.

+.png Изменить состояние объекта - После разбора перевести объект в новое состояние.

  • объект- после разбора перевести объект в состояние из следующего поля.
  • состояние - новое состояние для объекта из предыдущего поля.

+.png Изменить параметр объекта - После разбора изменить параметр объекта.

  • объект- после разбора этот объект меняет свой параметр.
  • свойство - параметр, который мы изменяем.
  • значение - новое значение параметра.

+.png Хинт запущен: изменить состояние объекта - перевести объект в состояние, при начале хинта ( включить маску).

  • объект- после разбора перевести объект в состояние из следующего поля.
  • состояние - новое состояние для объекта из предыдущего поля.

+.png Хинт завершён: изменить состояние объекта - перевести объект в состояние, после завершения хинта ( разблокировать маску).

  • объект- после разбора перевести объект в состояние из следующего поля.
  • состояние - новое состояние для объекта из предыдущего поля.

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

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

Пример

Объект «Пазл» в редакторе выглядит так:

01.JPG


Картинку пазла можно задать, перетянув изображение из редактора ресурсов в поле «картинка»:

02.JPG


либо с помощью другого объекта (например кнопкой, или машиной):

6.2.JPG


Выбор сложности игры делается отдельным экраном, на котором есть кнопки которые меняют параметры пазла:

6.3.JPG


Выбор сложности на устройстве:

6.3.1.JPG


И, наконец, пазл на устройстве выглядит примерно так:

6.4.JPG

Пример

Download