Patchwork

Материал из wiki.appsalutecreator.com
Версия от 11:15, 11 августа 2014; Sadovoy (обсуждение | вклад) (Параметры и модификаторы)
Перейти к: навигация, поиск

Описание для чего используется объект

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

                                            До сборки                    Окончание сборки 
Patchwork.jpg Patchwork2.jpg


PATCHWORKZ!
Wellgames.com


Параметры и модификаторы

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

Patchwork properties part1.png
  • Тип - Выбранный тип объекта определяет его функциональное назначение и его свойства.
  • Имя (nm) - Имя объекта patchwork в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов.
  • Id - Уникальный номер объекта.
  • Синхронизация (sync) - Применяется для синхронизации между лейаутами, если указан параметр нет то объект будет активен только на текущем лейауте
  • Сохранение параметров (sv) - Настройка этого параметра актуальна, если приложение в дальнейшем будет сворачиваться в системную панель («трей»). При выходе из трэя будут восстановлены ранее измененные/установленные (при переходе с одного экрана на другой)параметры объектов или подобъектов в зависимости от выбранного варианта для этого параметра. По умолчанию указан параметр "нет". Возможны следующие варианты: "нет", "только объект", "Объект с подобъектами", "только подобъекты".

Следует помнить, что если выбирается для объекта некоторой сцены значения этого параметра отличное от "нет", то должно и предусматриваться соответствующее значение этого параметра и для этой сцены, и для экрана, содержащего эту сцену.

  • Положение - группа, обьединяющая координаты:
Положение X (x) - Горизонтальная координата центра графического объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены;
Положение Y (y) - Вертикальная координата центра графического объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены.
  • Тип (iType) - важный параметр,определяющий тип механики patchwork, более детально Типы пэчворков:
0-ый тип - пэчворк, который использует маску для разрезания изображений;
1-ый тип - пэчворк, разрезанные фрагменты которого являются его подобъектами;
2-ый тип - круговой пэчворк, разрезанные фрагменты которого являются его подобъектами.
  • Размер - Позволяет настроить размеры объекта (то есть рамку), а не размеры самих графических ресурсов, подгружаемых в пэчворк:
W - размер (w) - Ширина графического объекта в пикселях;
H - размер (h) - Высота графического объекта в пикселях.
  • Модификаторы:
alpha (al) - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен);
angle (ang) - Угол поворота в градусах (0 - не повёрнут). Отсчитывается от оси x вниз. Вверх - идут отрицательные углы;
scale x (sx) - Масштаб по оси x (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.);
scale y (sy)- Масштаб по оси y (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.).
  • z (z) - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.
  • Память (memo):
1 - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана);
0 - при повторном открытии экрана объект обновит свои параметры.
  • Внешний вид - группа:
карт. спереди (res) - Графический ресурс картинки пэчворка спереди. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
карт. сзади (resBack) - Графический ресурс картинки пэчворка сзади. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
шаблон (resT) - Графический ресурс - битовая маска, используемая для разрезки картинки на части;
флаер на свое место (fly) - Флаер анимации установки на свое место;
флаер соединен с соседом (flyCn) - Флаер анимации соединения с соседом.

Состояния patchwork


Параметр, в который перейдёт patchwork при инициализации:

mix - перемешать сразу после запуска;
mix_and_fly - перемешать с анимацией полета;
init - исходное состояние пэчворка. Для того, чтобы пэчворк попал в таблицу нужно сделать по нему тап и можно будет наблюдать анимацию перемещения пэчворка в таблицу;
hint1 - который ставит на место выбранные элемент patchwork Параметры состояний hint1 и hint2;
hint2 - показывает элемент patchwork из таблицы, и конечное положение элементаПараметры состояний hint1 и hint2.

В случае, если это поле останется пустым, то это будет приравниваться к тому, что пэчворк находится в состоянии init

Patchwork properties part2.png

Счетчики


таймер (timer) - Таймер, связанный с пазлой;
счетчик (count) - Счетчик сделанных ходов;
игра (game) - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов);
уровень (level) - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для достжений запись будет равна [game.]level=1, для счетчика [game.]level+ct=число, для времени [game.]level+tm=время.
сохранять в профиль (prof):
1 - значение будет сохранено в текущий профиль;
0 - значение будет сохранено глобально.

Элементы пачворка


тип перемещения фрагментов (mvType) - перемещение элементов пачворка:
0 - произвильное;
1 - по кругу, относительно точки пивота;
размещение (place) - Положение элементов пачворка:
0 - располагаются в таблице;
1 - на экране.
таблица (table) - Объект, типа table который является визуальным отображением списка элементов пачворка;
скорость полета (velFly) - Cкорость полета элементов пачворка, измеряется в пикселях за минуту;
тень вкл. (shV) - Параметр отображения тени:
0 - не рисуется;
1 - рисуется.
сглаж вкл. (cntV) - Параметр отображения сглаженных краев:
0 - не рисуется;
1 - рисуется.
сглаж границ (smB) - Параметр сглаживания границ фрагментов:
0 - нет сглаживания;
1 - число точек соседнего фрагмента;
любое число - число точек соседнего фрагмента.
прозр. тени (shAlpha) - Альфа тени: от 0 (прозрачна) до 1 (не прозрачна).
смещение тени (shOffs) - Смещение тени в пикселях относительно основного фрагмента.
смещение тени в фокусе (shOffsF) - Смещение тени в пикселях относительно основного фрагмента, когда последний в фокусе.
скалир в фокусе (focSc) - Коэффициент масштабирования элемента при попадании в фокус (1 - не изменяется).
вращаемость (rot):
1 - элементы можно вращать на угол, указанный ниже;
0 - нельзя вращать.
угол вращения (rotAng) - угол, на который можно повернуть объект за один раз;
скорость вращения (rotVel) - скорость вращения в градусах за сек.;
притяжение табл (magnTbl) - расстояние до таблицы начиная с которого объекты уменьшают размер;
события переворота (overtEv) - По какому событию происходит переворот:
0 - по клику;
1 - по двойному клику.
ось переворота (overtAxis):
0 - переворот оси X;
1 - переворот оси Y.
скорость переворота (overtVel) - скорость переворота в градусах за сек..
оставлять в конце игры (stOnGameOver):
0 - не показывать при сборе всех частей;
1 - показывать.
Patchwork properties part3.png

игровое поле


использование (isGField):
1 - использовать ниже приведенные параметры;
0 - не использовать.
лев. бордюр (mixLOffs) - Левый бордюр экрана игрового поля;
пр. бордюр (mixROffs) - Правый бордюр экрана игрового поля;
вер. бордюр (mixTOffs) - Верхний бордюр экрана игрового поля;
ниж. бордюр (mixBOffs) - Нижний бордюр экрана игрового поля.

разброс элементов


дисперсия X (mixDispX) - Дисперсия элементов пачворка при размещении на экране по оси X;
дисперсия Y (mixDispX) - Дисперсия элементов пачворка при размещении на экране по оси Y;
изм. угол (dispRot) - Изменить угол после разброса элементов на экране "regexp=":
0 - нет;
1 - да.

взятие частей


тип взятия (takeTp):
0 - за что взяли, то и тянем;
1 - берем всегда за пивот, смещение указателя ниже.
смещ. X (takeShX) - смещение по оси X относительно пивота;
смещ. Y (takeShY) - смещение по оси Y относительно пивота.

звуки


приклеился (sMag) - Объект приклеился с другим объектом;
стал на свое место (sPl) - Объект стал на место на сцене
захватили перемещать (sDr) - Объект захватили для перемещения;
отпустили, но не на месте (sEr) - Объект отпустили но он не на месте;
вернули в таблицу (sTbl) - Объект вернули в таблицу (убрали с поля).

Параметры состояний hint1 и hint2


  • хинт 1 - параметры хинта 1, который ставит на место выбранные элемент patchwork:
палец нажат (h1resDn) - Графический ресурс нажатого пальца;
палец отжат (h1resUp) - Графический ресурс отжатого пальца;
скор. руки (h1VelH) - Скорость движения руки пикс/мин;
время пауз (h1Pause) - Время пауз между событиями.
  • хинт 2 - параметры хинта 2, который показывает элемент patchwork из таблицы, и конечное положение элемента:
время хинта (h2Time) - Время работы хинта;
время пауз (h2Pause) - Время пауз между событиями;
время пульса (h2Pulse) - Время пульса подсказки;

Дополнительные параметры пачворка

  • начинаем игру: изменить состояние объекта (nstBeg)- начинаем игру: изменить состояние объекта - В начале игры перевести объект в новое состояние:
объект (obj) - В начале игры перевести объект в состояние из следующего поля;
состояние (st) - Новое состояние для объекта из предыдущего поля;
  • начинаем игру: изменить параметр объекта (chgBeg) - В начале игры изменить параметр объекта:
объект (obj) - В начале игры этот объект меняет свой параметр;
свойство (par) - Параметр, который мы изменяем.
значение - Новое значение параметра.
  • поставили на место: изменить состояние объекта (nstRightPl) - После успешной вставки перевести объект в новое состояние:
объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
состояние (st) - Новое состояние для объекта из предыдущего поля.
  • поставили на место: изменить параметр объекта (chgRightPl) - После успешной вставки изменить параметр объекта:
объект (obj) - После успешной вставки этот объект меняет свой параметр;
свойство (par) - Параметр, который мы изменяем;
значение (val) - Новое значение параметра.
  • поставили не на место: изменить состояние объекта (nstErorPl) - После неуспешной вставки перевести объект в новое состояние:
объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
состояние (st) - Новое состояние для объекта из предыдущего поля.
  • поставили не на место: изменить параметр объекта (chgErorPl) - После неуспешной вставки изменить параметр объекта:
объект (obj) - После успешной вставки этот объект меняет свой параметр;
свойство (par) - Параметр, который мы изменяем;
значение (val) - Новое значение параметра.
  • потянули: изменить состояние объекта (nstDragStart) - При начале таскания перевести объект в новое состояние:
объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
состояние (st) - Новое состояние для объекта из предыдущего поля.
  • перестали тянуть (nstDragStop) - При завершении таскания перевести объект в новое состояние:
объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
состояние (st) - Новое состояние для объекта из предыдущего поля.
  • завершили: если был экран (wscrOk) - При сборе всех элементов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:
был экран (was) - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;
перейти на (scr) - Переходим на этот экран, если экран из предыдущего поля уже открывался.
  • завершили: изменить состояние объекта (nstOk) - При сборе всех элементов перевести объект в новое состояние:
объект (obj) - При сборе всех элементов перевести объект в состояние из следующего поля;
состояние (st) - Новое состояние для объекта из предыдущего поля.
  • завершили: изменить параметр объекта (chgOk) - При сборе всех элементов, изменить параметр объекта:
объект (obj) - При сборе всех элементов объект меняет свой параметр;
свойство (par) - Параметр, который мы изменяем;
значение (val) - Новое значение параметра.

Типы пэчворков

На данный момент, пэчворк имеет три основные механики:

  • пэчворк, который использует маску для разрезания изображений (0-ый тип)
  • пэчворк, разрезанные фрагменты которого являются его подобъектами (1-ый тип)
  • круговой пэчворк, разрезанные фрагменты которого являются его подобъектами (2-ый тип)


Пэчворк 0-го типа

Каким образом работает пэчворк? Существует какая-то картинка. Для того, чтобы использовать эту картинку в игре (собрать ее из кусков), нужно сперва разрезать ее. Для разрезания картинки используется ее маска, то есть тот контур по которому редактор будет разрезать изображение. После разрезания картинки, полученные куски (части) изображения попадают в таблицу, которая прикрепленна к пэчворку. Благодаря таблице существует возможность наблюдать за разрезанными частями и выносить их на поле для дальнейшего складывания пэчворка. В случае, если таблица не была прикреплена к пэчворку, то разрезанные изображения исчезнут за границами экрана.
Создание пэчворка 0-го типа пошагово:

  1. Добавить новый объект на сцену и указать ему тип "пэчворк (patchwork)":
    1. На панели дерево проекта выделить нужную сцену
    2. Нажать правую кнопку мыши (ПКМ) и в всплывающем списке выбрать создать объект в текущем элементе
    3. Перейти на панель свойств объекта Property
    4. Выбрать тип объекта patchwork
  2. В таблице свойств объекта указать тип пэчворка "0":
    1. На панели дерево проекта выбрать patchwork
    2. Перейти на панель свойств объекта Property
    3. На панели свойств выбрать поле тип
    4. Установить значение 0
  3. Подгрузить графику пэчворка:
    1. Выбрать объект patchwork
    2. Перейти на панель свойств объекта Property
    3. Раскрыть поле внешний вид
    4. В поле карт. спереди с помощью редактора ресурсов подгрузить исходную картинку, а в поле шаблон подгрузить маску, которая будет разрезать картинку
  4. Добавить новый объект на сцену и указать ему тип "таблица (table)":
    1. На панели дерево проекта выделить нужную сцену
    2. Нажать правую кнопку мыши (ПКМ) и в всплывающем списке выбрать создать объект в текущем элементе
    3. Выбрать панель Property
    4. Выделить поле тип объекта и в всплывающем списке выбрать table
  5. Настроить таблицу:
    1. Выделить объект table
    2. Выбрать панель Property
    3. Выбрать поле таблица
    4. Указать значения полям колонок и строчек
  6. В таблице свойств объекта привязать таблицу к пэчворку:
    1. Выбрать объект patchwork
    2. Выбрать панель Property
    3. Раскрыть поле элементы пэчворка
    4. Выделить поле таблица
    5. Выбрать нужную таблицу из списка


В результате проделанных манипуляций, после сохранения проекта и запуска вьювера, можно будет наблюдать следующий результат, где на первой картинке можно наблюдать исходное изображение, а на второй картинке уже порезанное изображение с применением маски. Example result.jpg


Пэчворк 1-го типа

Чем отличается пэчворк 1-го типа от пэчворка 0-го типа? Отличается тем, что при использовании пэчворка 0-го типа нужна маска для разрезания изображений, а при использовании пэчворка 1-го типа маска не нужна, а просто нужны отдельные изображения, куски графики, которые будут являтся подобъектами пэчворка, то есть входить в его группу. В таком случае, целью игры будет постановка отдельных изображений на свои места на сцене. Алгоритм создания пэчворка 1-го типа мало чем отличается от алгоритма создания пэчворка 0-го типа. Отличием является то, что на панели свойств пэчворка в поле тип нужно поставить значение 1, а не 0. Также отличие заключается в другом подгружении графики пэчворка:

  1. Из редактора ресурсов вынести нужную графику на сцену
  2. Зайти на панель дерево проекта
  3. Переместить графические объекты в группу к пэчворку

Example 1st type.jpg



Круговой Пэчворк 1-го типа

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

Цель игры: выставить каждое из колец в правильное положение, чтоб исходное изображение было восстановлено.

Графика в данном случае готовится и подгружается таким же образом, как и для пачворка 1 типа.

Для данного типа пачворка существует ряд настроек, относящихся только к нему.

Пример применения

Пример создания 0-го типа пэчворка


Example p1.jpg Example p2.jpg Example p3.jpg Example p4.jpg Example p5.jpg Example p6.jpg
В результате проделанных манипуляций, после сохранения проекта и запуска вьювера, можно будет наблюдать следующий результат, где на первой картинке можно наблюдать исходное изображение, а на второй картинке уже порезанное изображение с применением маски. Example result.jpg

Пример создания кругового пэчворка

П1.PNG

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

П2.PNG

П3.PNG