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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Дополнительные параметры пачворка)
(Пэчворк 1-го типа)
 
(не показаны 33 промежуточные версии 5 участников)
Строка 1: Строка 1:
==Описание для чего используется объект==
+
{{TOC right}}
  
'''Пэчворк (Patchwork)''' - минигра, цель которой состоит в том, чтобы сложить картинку, которая разрезанна на различное колличество изображений. Разрезанные изображения могут быть самых разных форм. Возможны две игровые механики: когда изображение разрезается на другие, более мелкие изображения и когда отдельные изображения могут являтся частью объекта пэчворка (внесенны в его группу), в таком случае, пэчворк будет считаться собранным, если куски графики будут поставлены на правильные места (те места, где изображения были первоначально расположенны на поле).   
+
 
                                            До сборки                    Окончание сборки  
+
'''Пэчворк ('' Patchwork '')''' - мини игра, цель которой состоит в том, чтобы сложить картинку, которая разрезана на различное количество изображений. Разрезанные изображения могут быть самых разных форм. Возможны две игровые механики: когда изображение разрезается на другие, более мелкие изображения и когда отдельные изображения могут являться частью объекта пэчворка ('' внесены в его группу ''), в таком случае, пэчворк будет считаться собранным, если куски графики будут поставлены на правильные места ('' те места, где изображения были первоначально расположены на поле '').   
 +
                                    До сборки                    Окончание сборки  
 
<center>[[Файл:Patchwork.jpg]]                                                                [[Файл:Patchwork2.jpg]] </center>
 
<center>[[Файл:Patchwork.jpg]]                                                                [[Файл:Patchwork2.jpg]] </center>
 
<br>
 
<br>
 
<center>'''PATCHWORKZ!'''</center><center>[http://wellgames.com/free_online/patchworkz/ Wellgames.com]</center>
 
<center>'''PATCHWORKZ!'''</center><center>[http://wellgames.com/free_online/patchworkz/ Wellgames.com]</center>
 
<br>
 
<br>
==Параметры и модификаторы==
 
  
===Основные параметры===
 
[[Файл:Patchwork properties part1.png|right]]
 
  
*'''Тип''' - Выбранный тип объекта определяет его функциональное назначение и его свойства.
 
*'''Имя''' (nm) - Имя объекта patchwork в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов. 
 
*'''Id''' - Уникальный номер объекта.
 
*'''Синхронизация''' (sync) - Применяется для синхронизации между лейаутами, если указан параметр нет то объект будет активен только на текущем лейауте
 
*'''Сохранение параметров''' (sv) - Настройка этого параметра актуальна, если приложение в дальнейшем будет сворачиваться в системную панель («трей»). При выходе из трэя будут восстановлены ранее измененные/установленные (при переходе с одного экрана на другой)параметры объектов или подобъектов в зависимости от выбранного варианта для этого параметра. По умолчанию указан параметр "нет". Возможны следующие варианты: "нет", "только объект", "Объект с подобъектами", "только подобъекты".<br>
 
Следует помнить, что если выбирается для объекта некоторой сцены значения этого параметра отличное от "нет", то должно и предусматриваться соответствующее значение этого параметра и для этой сцены, и для экрана, содержащего эту сцену.
 
  
*'''Положение''' - группа, обьединяющая координаты:
+
==Основные параметры==
:'''Положение X''' (x) - Горизонтальная координата центра графического объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены;
+
[[Файл:Patchwork properties part1.png|250px|right]]
:'''Положение Y''' (y) - Вертикальная координата центра графического объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены.  
 
  
*'''Тип''' (iType) - важный параметр,определяющий тип механики patchwork, более детально [[Типы пэчворков]]:
+
'''Общие параметры:'''
 +
(см. описание [[Object|Object]])
 +
 
 +
''(Курсивом в скобках указан id параметра или состояния)''
 +
*'''Тип''' (''iType'') - важный параметр,определяющий тип механики patchwork, более детально [[#Типы пэчворков|см. типы пэчворков]]:
 
:'''0-ый тип''' - пэчворк, который использует маску для разрезания изображений;
 
:'''0-ый тип''' - пэчворк, который использует маску для разрезания изображений;
:'''1-ый тип''' - пэчворк, разрезанные фрагменты которого являются его подобъектами;
+
:'''1-ый тип''':
:'''2-ый тип''' - круговой пэчворк, разрезанные фрагменты которого являются его подобъектами.
+
::- пэчворк, разрезанные фрагменты которого являются его подобъектами;
 +
::- круговой пэчворк, разрезанные фрагменты которого являются его подобъектами.
  
*'''Размер''' - Позволяет настроить размеры '''''объекта''''' (то есть рамку), а не размеры самих графических ресурсов, подгружаемых в пэчворк:
+
*'''Состояние''' (''state'') - Начальное состояние: '''mix''' - сразу перемешать после запуска?, '''mix_and_fly''' - перемешать с анимацией полета.
:'''W - размер''' (w) - Ширина графического объекта в пикселях;
 
:'''H - размер''' (h) - Высота графического объекта в пикселях.  
 
  
*'''Модификаторы''':
+
*'''Память''' (''memo''): '''1''' - при повторном открытии экрана объект не обновляет свои параметры (''помнит текущие параметры, оставшиеся от предыдущего посещения экрана''), '''0''' - при повторном открытии экрана объект обновит свои параметры.
:'''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, затем, поверх них - с меньшим.
 
*'''состояние''' (state) - Параметр, в который перейдёт patchwork при инициализации:
 
:'''mix''' - перемешать сразу после запуска;
 
:'''mix_and_fly''' - перемешать с анимацией полета;
 
:'''init''' - исходное состояние пэчворка. Для того, чтобы пэчворк попал в таблицу нужно сделать по нему тап и можно будет наблюдать анимацию перемещения пэчворка в таблицу;
 
:'''hint1''' - который ставит на место выбранные элемент patchwork [[Параметры состояний hint1 и hint2]];
 
:'''hint2''' - показывает элемент patchwork из таблицы, и конечное положение элемента[[Параметры состояний hint1 и hint2]].
 
В случае, если это поле останется пустым, то это будет приравниваться к тому, что пэчворк находится в состоянии '''''init'''''
 
  
*'''Память''' (memo):
+
'''Группа - Внешний вид:'''
:'''1''' - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана);  
+
*'''карт. спереди''' (''res'') - Графический ресурс картинки пэчворка спереди. Перетаскивается мышкой из редактора ресурсов (''поле должно находится в состоянии редактирования'');
:'''0''' - при повторном открытии экрана объект обновит свои параметры.
+
*'''карт. сзади''' (''resBack'') - Графический ресурс картинки пэчворка сзади. Перетаскивается мышкой из редактора ресурсов (''поле должно находится в состоянии редактирования'');
 +
*'''шаблон''' (''resT'') - Графический ресурс - битовая маска, используемая для разрезки картинки на части;
 +
*'''флаер на свое место''' (''fly'') - Флаер анимации установки на свое место;
 +
*'''флаер соединен с соседом''' (''flyCn'') - Флаер анимации соединения с соседом.
 +
 
 +
[[Файл:Patchwork properties part2.png|250px|right]]
 +
 
 +
 
 +
'''Группа - счетчики:'''
 +
*'''таймер''' (''timer'') - Таймер, связанный с пазлой;
 +
*'''счетчик''' (''count'') - Счетчик сделанных ходов;
 +
*'''игра''' (''game'') - Имя игры (''раздела в опциях''), который надо вычитать для получения начального значения прогресса (''например, для отображения результатов'');
 +
*'''уровень''' (''level'') - Имя уровня (''параметра в разделе игра - см.выше''), который надо вычитать для получения начального значения прогресса (''например, для отображения результатов''). Для достижений запись будет равна [game.]level=1, для счетчика [game.]level+ct=число, для времени [game.]level+tm=время;
 +
*'''сохранять в профиль''' (''prof''): '''1''' - значение будет сохранено в текущий профиль, '''0''' - значение будет сохранено глобально.  
 +
 
  
*'''Внешний вид''' - группа:  
+
'''Группа - элементы пачворка:'''
:'''карт. спереди''' (res) - Графический ресурс картинки пэчворка спереди. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);  
+
*'''тип перемещения фрагментов''' (''mvType'') - перемещение элементов пачворка: '''0''' - произвольное, '''1''' - по кругу, относительно точки пивота;
:'''карт. сзади''' (resBack) - Графический ресурс картинки пэчворка сзади. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);  
+
*'''размещение''' (''place'') - Положение элементов пачворка: '''0''' - располагаются в таблице, '''1''' - на экране;
:'''шаблон''' (resT) - Графический ресурс - битовая маска, используемая для разрезки картинки на части;  
+
*'''таблица''' (''table'') - Объект, типа table который является визуальным отображением списка элементов пачворка;
:'''флаер на свое место''' (fly) - Флаер анимации установки на свое место;  
+
*'''скорость полета''' (''velFly'') - Скорость полета элементов пачворка, измеряется в пикселях за минуту;
:'''флаер соединен с соседом''' (flyCn) - Флаер анимации соединения с соседом.  
+
*'''тень вкл.''' (''shV'') - Параметр отображения тени: '''0''' - не рисуется, '''1''' - рисуется;
 +
*'''сглаж вкл.''' (''cntV'') - Параметр отображения сглаженных краев: '''0''' - не рисуется, '''1''' - рисуется;
 +
*'''сглаж границ''' (''smB'') - Параметр сглаживания границ фрагментов: '''0''' - нет сглаживания, '''любое число''' - число точек соседнего фрагмента;
 +
*'''прозр. тени''' (''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 part2.png|right]]
 
*'''Счетчики''' - группа:
 
:'''таймер''' (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|right]]
 
[[Файл:Patchwork properties part3.png|right]]
*'''игровое поле''' - группа:
+
'''Группа - игровое поле:'''
:'''использование''' (isGField):
+
*'''использование''' (''isGField''): '''1''' - использовать ниже приведенные параметры, '''0''' - не использовать;
::'''1''' - использовать ниже приведенные параметры;
+
*'''лев. бордюр''' (''mixLOffs'') - Левый бордюр экрана игрового поля;  
::'''0''' - не использовать.
+
*'''пр. бордюр''' (''mixROffs'') - Правый бордюр экрана игрового поля;  
:'''лев. бордюр''' (mixLOffs) - Левый бордюр экрана игрового поля;  
+
*'''верх. бордюр''' (''mixTOffs'') - Верхний бордюр экрана игрового поля;  
:'''пр. бордюр''' (mixROffs) - Правый бордюр экрана игрового поля;  
+
*'''ниж. бордюр''' (''mixBOffs'') - Нижний бордюр экрана игрового поля.
:'''вер. бордюр''' (mixTOffs) - Верхний бордюр экрана игрового поля;  
+
C помощью данных параметров можно ограничить область, в которой таскаются элементы пачворка. Значение бордюра - расстояние от края экрана, до области, в которой можно таскать элементы. Например выставлен верхний бордюр в 50, значит мы не сможем перетащить элемент в область шириной 50 пикселей от верха экрана. Также для частей пачворка нужно задать шейпы.
:'''ниж. бордюр''' (mixBOffs) - Нижний бордюр экрана игрового поля.  
+
 
 +
 
 +
'''Группа - разброс элементов:'''
 +
*'''дисперсия X''' (''mixDispX'') - Дисперсия элементов пачворка при размещении на экране по оси X;
 +
*'''дисперсия Y''' (''mixDispX'') - Дисперсия элементов пачворка при размещении на экране по оси Y;
 +
*'''изм. угол''' (''dispRot'') - Изменить угол после разброса элементов на экране "regexp=": '''0''' - нет, '''1''' - да.
 +
 
  
*'''разброс элементов''' - группа
+
'''Группа - взятие частей:'''
:'''дисперсия X''' (mixDispX) - Дисперсия элементов пачворка при размещении на экране по оси X;
+
*'''тип взятия''' (''takeTp''): '''0''' - за что взяли, то и тянем, '''1''' - берем всегда за пивот, смещение указателя ниже;
:'''дисперсия Y''' (mixDispX) - Дисперсия элементов пачворка при размещении на экране по оси Y;
+
*'''смещ. X''' (''takeShX'') - смещение по оси X относительно пивота;
:'''изм. угол''' (dispRot) - Изменить угол после разброса элементов на экране "regexp=":
+
*'''смещ. Y''' (''takeShY'') - смещение по оси Y относительно пивота.  
::'''0''' - нет;
 
::'''1''' - да.
 
  
*'''взятие частей''' - группа:
 
:'''тип взятия''' (takeTp):
 
::'''0''' - за что взяли, то и тянем;
 
::'''1''' - берем всегда за пивот, смещение указателя ниже.
 
:'''смещ. X''' (takeShX) - смещение по оси X относительно пивота;
 
:'''смещ. Y''' (takeShY) - смещение по оси Y относительно пивота.
 
  
*'''звуки''' - группа:
+
'''Группа - звуки:'''
:'''приклеился''' (sMag) - Объект приклеился с другим объектом;  
+
*'''приклеился''' (''sMag'') - Объект приклеился к другому объекту;  
:'''стал на свое место''' (sPl) - Объект стал на место на сцене  
+
*'''стал на свое место''' (''sPl'') - Объект стал на место на сцене;
:'''захватили перемещать''' (sDr) - Объект захватили для перемещения;  
+
*'''захватили перемещать''' (''sDr'') - Объект захватили для перемещения;  
:'''отпустили, но не на месте''' (sEr) - Объект отпустили но он не на месте;  
+
*'''отпустили, но не на месте''' (''sEr'') - Объект отпустили, но он оказался не на своем месте;  
:'''вернули в таблицу''' (sTbl) - Объект вернули в таблицу (убрали с поля).
+
*'''вернули в таблицу''' (''sTbl'') - Объект вернули в таблицу (''убрали с поля'').
  
===Параметры состояний hint1 и hint2===
 
*'''хинт 1''' - параметры хинта 1, который ставит на место выбранные элемент patchwork:
 
:'''палец нажат''' (h1resDn) - Графический ресурс нажатого пальца;
 
:'''палец отжат''' (h1resUp) - Графический ресурс отжатого пальца;
 
:'''скор. руки''' (h1VelH) - Скорость движения руки пикс/мин;
 
:'''время пауз''' (h1Pause) - Время пауз между событиями.
 
  
*'''хинт 2''' - параметры хинта 2, который показывает элемент patchwork из таблицы, и конечное положение элемента:
+
'''Группа - хинт 1:''' (подсказка ставит на место выбранный элемент patchwork)
:'''время хинта''' (h2Time) - Время работы хинта;  
+
*'''палец нажат''' (''h1resDn'') - Графический ресурс нажатого пальца;
:'''время пауз''' (h2Pause) - Время пауз между событиями;  
+
*'''палец отжат''' (''h1resUp'') - Графический ресурс отжатого пальца;  
:'''время пульса''' (h2Pulse) - Время пульса подсказки;
+
*'''скор. руки''' (''h1VelH'') - Скорость движения руки пикс/мин;  
 +
*'''время пауз''' (''h1Pause'') - Время пауз между событиями.
  
----
 
  
===Дополнительные параметры пачворка===
+
'''Группа - хинт 2:''' (подсказка показывает элемент patchwork из таблицы, и его конечное положение)
*'''начинаем игру: изменить состояние объекта''' (nstBeg)- начинаем игру: изменить состояние объекта - В начале игры перевести объект в новое состояние:
+
*'''время хинта''' (''h2Time'') - Время работы хинта;
:'''объект''' (obj) - В начале игры перевести объект в состояние из следующего поля;
+
*'''время пауз''' (''h2Pause'') - Время пауз между событиями;  
:'''состояние''' (st) - Новое состояние для объекта из предыдущего поля;
+
*'''время пульса''' (''h2Pulse'') - Время пульса подсказки.
  
*'''начинаем игру: изменить параметр объекта''' (chgBeg) - В начале игры изменить параметр объекта:
+
==Добавляемые параметры пачворка==
:'''объект''' (obj) - В начале игры этот объект меняет свой параметр;
+
Меню выбора ''Добавляемые параметры к объектам'' активируется по правой кнопки мыши.
:'''свойство''' (par) - Параметр, который мы изменяем.
 
:'''значение''' - Новое значение параметра.
 
  
*'''поставили на место: изменить состояние объекта''' (nstRightPl) - После успешной вставки перевести объект в новое состояние:
 
:'''объект''' (obj) - После успешной вставки перевести объект в состояние из следующего поля;
 
:'''состояние''' (st) - Новое состояние для объекта из предыдущего поля.
 
  
*'''поставили на место: изменить параметр объекта''' (chgRightPl) - После успешной вставки изменить параметр объекта:
+
[[Файл:+.png]]  '''начинаем игру: изменить состояние объекта''' (''nstBeg'')- начинаем игру: изменить состояние объекта - В начале игры перевести объект в новое состояние:
:'''объект''' (obj) - После успешной вставки этот объект меняет свой параметр;
+
*'''объект''' (''obj'') - В начале игры перевести объект в состояние из следующего поля;
:'''свойство''' (par) - Параметр, который мы изменяем;
+
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
:'''значение''' (val) - Новое значение параметра.
 
  
*'''поставили не на место: изменить состояние объекта''' (nstErorPl) - После неуспешной вставки перевести объект в новое состояние:
 
:'''объект''' (obj) - После успешной вставки перевести объект в состояние из следующего поля;
 
:'''состояние''' (st) - Новое состояние для объекта из предыдущего поля.
 
  
*'''поставили не на место: изменить параметр объекта''' (chgErorPl) - После неуспешной вставки изменить параметр объекта:
+
[[Файл:+.png]] '''начинаем игру: изменить параметр объекта''' (''chgBeg'') - В начале игры изменить параметр объекта:
:'''объект''' (obj) - После успешной вставки этот объект меняет свой параметр;
+
*'''объект''' (''obj'') - В начале игры этот объект меняет свой параметр;
:'''свойство''' (par) - Параметр, который мы изменяем;
+
*'''свойство''' (''par'') - Параметр, который мы изменяем;
:'''значение''' (val) - Новое значение параметра.
+
*'''значение''' (''val'') - Новое значение параметра.
  
*'''потянули: изменить состояние объекта''' (nstDragStart) - При начале таскания перевести объект в новое состояние:
 
:'''объект''' (obj) - После успешной вставки перевести объект в состояние из следующего поля;
 
:'''состояние''' (st) - Новое состояние для объекта из предыдущего поля.
 
  
*'''перестали тянуть''' (nstDragStop) - При завершении таскания перевести объект в новое состояние:
+
[[Файл:+.png]]  '''поставили на место: изменить состояние объекта''' (''nstRightPl'') - После успешной вставки перевести объект в новое состояние:
:'''объект''' (obj) - После успешной вставки перевести объект в состояние из следующего поля;
+
*'''объект''' (''obj'') - После успешной вставки перевести объект в состояние из следующего поля;
:'''состояние''' (st) - Новое состояние для объекта из предыдущего поля.
+
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
  
*'''завершили: если был экран''' (wscrOk) - При сборе всех элементов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:
 
:'''был экран''' (was) - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;
 
:'''перейти на''' (scr) - Переходим на этот экран, если экран из предыдущего поля уже открывался.
 
  
*'''завершили: изменить состояние объекта''' (nstOk) - При сборе всех элементов перевести объект в новое состояние:
+
[[Файл:+.png]]  '''поставили на место: изменить параметр объекта''' (''chgRightPl'') - После успешной вставки изменить параметр объекта:
:'''объект''' (obj) - При сборе всех элементов перевести объект в состояние из следующего поля;
+
*'''объект''' (''obj'') - После успешной вставки этот объект меняет свой параметр;
:'''состояние''' (st) - Новое состояние для объекта из предыдущего поля.
+
*'''свойство''' (''par'') - Параметр, который мы изменяем;
 +
*'''значение''' (''val'') - Новое значение параметра.
  
*'''завершили: изменить параметр объекта''' (chgOk) - При сборе всех элементов, изменить параметр объекта:
 
:'''объект''' (obj) - При сборе всех элементов объект меняет свой параметр;
 
:'''свойство''' (par) - Параметр, который мы изменяем;
 
:'''значение''' (val) - Новое значение параметра.
 
  
----
+
[[Файл:+.png]]  '''поставили не на место: изменить состояние объекта''' (''nstErorPl'') - После не успешной вставки перевести объект в новое состояние:
 +
*'''объект''' (''obj'') - После успешной вставки перевести объект в состояние из следующего поля;
 +
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
  
===Типы пэчворков===
 
На данный момент, пэчворк имеет три основные механики:
 
* пэчворк, который использует маску для разрезания изображений (0-ый тип)
 
* пэчворк, разрезанные фрагменты которого являются его подобъектами (1-ый тип)
 
* круговой пэчворк, разрезанные фрагменты которого являются его подобъектами (2-ый тип)
 
  
----
+
[[Файл:+.png]]  '''поставили не на место: изменить параметр объекта''' (''chgErorPl'') - После неуспешной вставки изменить параметр объекта:
 +
*'''объект''' (''obj'') - После успешной вставки этот объект меняет свой параметр;
 +
*'''свойство''' (''par'') - Параметр, который мы изменяем;
 +
*'''значение''' (''val'') - Новое значение параметра.
 +
 
 +
 
 +
[[Файл:+.png]]  '''потянули: изменить состояние объекта''' (''nstDragStart'') - При начале таскания перевести объект в новое состояние:
 +
*'''объект''' (''obj'') - После успешной вставки перевести объект в состояние из следующего поля;
 +
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
 +
 
 +
 
 +
[[Файл:+.png]]  '''перестали тянуть''' (''nstDragStop'') - При завершении таскания перевести объект в новое состояние:
 +
*'''объект''' (''obj'') - После успешной вставки перевести объект в состояние из следующего поля;
 +
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
 +
 
 +
 
 +
[[Файл:+.png]]  '''завершили: если был экран''' (''wscrOk'') - При сборе всех элементов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:
 +
*'''был экран''' (''was'') - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;
 +
*'''перейти на''' (''scr'') - Переходим на этот экран, если экран из предыдущего поля уже открывался.
 +
 
 +
 
 +
[[Файл:+.png]] '''завершили: изменить состояние объекта''' (''nstOk'') - При сборе всех элементов перевести объект в новое состояние:
 +
*'''объект''' (''obj'') - При сборе всех элементов перевести объект в состояние из следующего поля;
 +
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
 +
 
 +
[[Файл:+.png]]  '''завершили: изменить параметр объекта''' (''chgOk'') - При сборе всех элементов, изменить параметр объекта:
 +
*'''объект''' (''obj'') - При сборе всех элементов объект меняет свой параметр;
 +
*'''свойство''' (''par'') - Параметр, который мы изменяем;
 +
*'''значение''' (''val'') - Новое значение параметра.
  
 +
[[Файл:+.png]]  '''параметры фрагмента''' (''ppar'') - Изменить параметры фрагмента:
 +
*'''объект''' (''obj'') - Параметр данного фрагмента будем менять (для типа пэчворка "1" если нужно, чтобы объект перед сбором пэчворка находился в конкретной точке);
 +
*'''start x''' (''x'') - Начальная позиция по X перед сбором фрагментов;
 +
*'''start y''' (''y'') - Начальная позиция по Y перед сбором фрагментов;
 +
*'''angle''' (''ang'') - Начальный угол перед сбором фрагментов.
  
====Пэчворк 0-го типа====
+
==Описание типов пэчворков==
 +
На данный момент, пэчворк имеет три основные механики:
 +
* пэчворк, который использует маску для разрезания изображений ('' 0-ый тип '')
 +
* пэчворк, разрезанные фрагменты которого являются его подобъектами ('' [[#Пэчворк 1-го типа|1-ый тип]] '')
 +
* круговой пэчворк, разрезанные фрагменты которого являются его подобъектами ('' [[#Круговой Пэчворк 1-го типа|1-ый тип]] '')
 +
 
 +
===Пэчворк 0-го типа===
 
Каким образом работает пэчворк?
 
Каким образом работает пэчворк?
Существует какая-то картинка. Для того, чтобы использовать эту картинку в игре (собрать ее из кусков), нужно сперва разрезать ее. Для разрезания картинки используется ее маска, то есть тот контур по которому редактор будет разрезать изображение. После разрезания картинки, полученные куски (части) изображения попадают в таблицу, которая прикрепленна к пэчворку. Благодаря таблице существует возможность наблюдать за разрезанными частями и выносить их на поле для дальнейшего складывания пэчворка. В случае, если таблица не была прикреплена к пэчворку, то разрезанные изображения исчезнут за границами экрана.
+
Существует какая-то картинка. Для того, чтобы использовать эту картинку в игре (''собрать ее из кусков''), нужно сперва разрезать ее. Для разрезания картинки используется ее маска, то есть тот контур по которому редактор будет разрезать изображение. После разрезания картинки, полученные куски (''части'') изображения попадают в таблицу, которая прикреплена к пэчворку. Благодаря таблице существует возможность наблюдать за разрезанными частями и выносить их на поле для дальнейшего складывания пэчворка. В случае, если таблица не была прикреплена к пэчворку, то разрезанные изображения исчезнут за границами экрана.
 
<br>
 
<br>
 
'''Создание пэчворка 0-го типа пошагово:'''
 
'''Создание пэчворка 0-го типа пошагово:'''
# Добавить новый объект на сцену и указать ему тип "пэчворк (patchwork)":  
+
# Добавить новый объект на сцену и указать ему тип "пэчворк (''patchwork'')":  
 
##На панели '''''дерево проекта''''' выделить нужную сцену
 
##На панели '''''дерево проекта''''' выделить нужную сцену
##Нажать правую кнопку мыши (ПКМ) и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''  
+
##Нажать правую кнопку мыши (''ПКМ'') и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''  
 
##Перейти на панель свойств объекта '''''Property'''''  
 
##Перейти на панель свойств объекта '''''Property'''''  
 
##Выбрать тип объекта '''''patchwork'''''
 
##Выбрать тип объекта '''''patchwork'''''
Строка 233: Строка 206:
 
##Раскрыть поле '''''внешний вид'''''
 
##Раскрыть поле '''''внешний вид'''''
 
##В поле '''''карт. спереди''''' с помощью редактора ресурсов подгрузить исходную картинку, а в поле '''''шаблон''''' подгрузить маску, которая будет разрезать картинку
 
##В поле '''''карт. спереди''''' с помощью редактора ресурсов подгрузить исходную картинку, а в поле '''''шаблон''''' подгрузить маску, которая будет разрезать картинку
# Добавить новый объект на сцену и указать ему тип "таблица (table)":  
+
# Добавить новый объект на сцену и указать ему тип "таблица (''table'')":  
 
##На панели '''''дерево проекта''''' выделить нужную сцену  
 
##На панели '''''дерево проекта''''' выделить нужную сцену  
##Нажать правую кнопку мыши (ПКМ) и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''
+
##Нажать правую кнопку мыши (''ПКМ'') и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''
 
##Выбрать панель '''''Property'''''
 
##Выбрать панель '''''Property'''''
 
##Выделить поле '''''тип''''' объекта и в всплывающем списке выбрать '''''table'''''
 
##Выделить поле '''''тип''''' объекта и в всплывающем списке выбрать '''''table'''''
Строка 256: Строка 229:
 
<br>
 
<br>
  
----
 
  
====Пэчворк 1-го типа====
+
===Пэчворк 1-го типа===
 
Чем отличается пэчворк 1-го типа от пэчворка 0-го типа?
 
Чем отличается пэчворк 1-го типа от пэчворка 0-го типа?
 
Отличается тем, что при использовании пэчворка 0-го типа нужна маска для разрезания изображений, а при использовании пэчворка 1-го типа маска не нужна, а просто нужны отдельные изображения, куски графики, которые будут являтся подобъектами пэчворка, то есть входить в его группу. В таком случае, целью игры будет постановка отдельных изображений на свои места на сцене. Алгоритм создания пэчворка 1-го типа мало чем отличается от алгоритма создания пэчворка 0-го типа. Отличием является то, что на панели свойств пэчворка в поле '''''тип''''' нужно поставить значение '''''1''''', а не '''''0'''''. Также отличие заключается в другом подгружении графики пэчворка:
 
Отличается тем, что при использовании пэчворка 0-го типа нужна маска для разрезания изображений, а при использовании пэчворка 1-го типа маска не нужна, а просто нужны отдельные изображения, куски графики, которые будут являтся подобъектами пэчворка, то есть входить в его группу. В таком случае, целью игры будет постановка отдельных изображений на свои места на сцене. Алгоритм создания пэчворка 1-го типа мало чем отличается от алгоритма создания пэчворка 0-го типа. Отличием является то, что на панели свойств пэчворка в поле '''''тип''''' нужно поставить значение '''''1''''', а не '''''0'''''. Также отличие заключается в другом подгружении графики пэчворка:
Строка 264: Строка 236:
 
# Зайти на панель '''''дерево проекта'''''
 
# Зайти на панель '''''дерево проекта'''''
 
# Переместить графические объекты в группу к пэчворку
 
# Переместить графические объекты в группу к пэчворку
 +
 +
Если необходимо, чтобы в пэчворке начальные координаты подобъектов до сбора отличались от конечных, то необходимо использовать добавляемое свойство "Параметры фрагмента" и там указать начальные координаты и, при необходимости, угол для подобъектов пэчворка.
 
[[Файл:Example_1st_type.jpg]]
 
[[Файл:Example_1st_type.jpg]]
  
----
+
===Круговой Пэчворк 1-го типа===
 +
На поле расположено одно изображение, разрезанное на части в форме концентрических колец с одним центром. Кольцевые части могут вращаться вокруг общего центра при помощи захвата пальцем(''зажатой кнопкой мыши''). В начале игры кольца сдвинуты относительно своего правильного положения каждое на произвольный угол. Как только два кольца выставляются друг относительно друга в правильное положение они слипаются - "паркуются", и в дальнейшем вращаются вместе.
  
 +
Цель игры: выставить каждое из колец в правильное положение, чтоб исходное изображение было восстановлено.
 +
 +
Графика в данном случае готовится и подгружается таким же образом, как и для пачворка 1 типа.
  
====Круговой Пэчворк 1-го типа====
+
Для данного типа пачворка существует ряд настроек, относящихся только к нему.
  
На поле расположено одно изображение, разрезанное на части в форме концентрических колец с одним центром. Кольцевые части могут вращаться вокруг общего центра при помощи захвата пальцем(зажатой кнопкой мыши). В начале игры кольца сдвинуты относительно своего правильного положения каждое на произвольный угол. Как только два кольца выставляются друг относительно друга в правильное положение они слипаются - "паркуются", и в дальнейшем вращаются вместе.
+
'''Обязательно!''':
 +
:- в строке состояния указать состояние - '''mix''' (иначе по умолчанию - init, будет ожидать клик).
 +
:- указать параметры (иначе при двойном клике, нажатая часть сразу станет на своё место):
 +
::Элементы пэчворка:
 +
:::'''Вращаемость''' = 1;
 +
:::'''Угол вращения''' = число.
  
Цель игры: выставить каждое из колец в правильное положение, чтоб исходное изображение было восстановлено.
+
==Состояния patchwork==
 +
 
 +
Параметр, в который перейдёт patchwork при инициализации:
 +
*'''mix''' - перемешать сразу после запуска;
 +
*'''mix_and_fly''' - перемешать с анимацией полета;
 +
*'''init''' - исходное состояние пэчворка. Для того, чтобы пэчворк попал в таблицу нужно сделать по нему тап и можно будет наблюдать анимацию перемещения пэчворка в таблицу;
 +
*'''hint1''' - который ставит на место выбранные элемент patchwork, [[#Параметры состояний hint1 и hint2|см. параметры состояний hint1 и hint2]];
 +
*'''hint2''' - показывает элемент patchwork из таблицы, и конечное положение элемента, [[#Параметры состояний hint1 и hint2|см. параметры состояний hint1 и hint2]].
 +
В случае, если это поле останется пустым, то это будет приравниваться к тому, что пэчворк находится в состоянии '''''init'''''
  
Графика в данном случае готовится и подгружается таким же образом, как и для пачворка 1 типа.
 
  
Для данного типа пачворка существует ряд настроек, относящихся только к нему.
 
  
 
==Пример применения==
 
==Пример применения==
 +
  
 
===Пример создания 0-го типа пэчворка===
 
===Пример создания 0-го типа пэчворка===
Строка 298: Строка 288:
 
[[Файл:П1.PNG]]
 
[[Файл:П1.PNG]]
  
В результате проделанных манипуляций, после сохранения проекта и запуска вьювера, можно будет наблюдать следующий результат, где на первой картинке можно наблюдать исходное изображение, а на второй картинке уже собранное изображение (результат получен путем вращения элементов пэчворка).
+
'''Обязательно!''':
 +
:- в строке состояния указать состояние - '''mix'''.
 +
:- указать параметры (иначе при двойном клике, нажатая часть сразу станет на своё место):
 +
::Элементы пэчворка:
 +
:::'''Вращаемость''' = 1;
 +
:::'''Угол вращения''' = число.
 +
 
 +
В результате проделанных манипуляций, после сохранения проекта и запуска вьювера, можно будет наблюдать следующий результат, где на первой картинке можно наблюдать исходное изображение, а на второй картинке уже собранное изображение (''результат получен путем вращения элементов пэчворка'').
  
 
[[Файл:П2.PNG]]
 
[[Файл:П2.PNG]]
  
 
[[Файл:П3.PNG]]
 
[[Файл:П3.PNG]]
 +
 +
[[Category:Game mechanic]]

Текущая версия на 07:58, 31 августа 2015


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

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


PATCHWORKZ!
Wellgames.com



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

Patchwork properties part1.png

Общие параметры: (см. описание Object)

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

  • Тип (iType) - важный параметр,определяющий тип механики patchwork, более детально см. типы пэчворков:
0-ый тип - пэчворк, который использует маску для разрезания изображений;
1-ый тип:
- пэчворк, разрезанные фрагменты которого являются его подобъектами;
- круговой пэчворк, разрезанные фрагменты которого являются его подобъектами.
  • Состояние (state) - Начальное состояние: mix - сразу перемешать после запуска?, mix_and_fly - перемешать с анимацией полета.
  • Память (memo): 1 - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана), 0 - при повторном открытии экрана объект обновит свои параметры.


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

  • карт. спереди (res) - Графический ресурс картинки пэчворка спереди. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
  • карт. сзади (resBack) - Графический ресурс картинки пэчворка сзади. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
  • шаблон (resT) - Графический ресурс - битовая маска, используемая для разрезки картинки на части;
  • флаер на свое место (fly) - Флаер анимации установки на свое место;
  • флаер соединен с соседом (flyCn) - Флаер анимации соединения с соседом.
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) - Скорость полета элементов пачворка, измеряется в пикселях за минуту;
  • тень вкл. (shV) - Параметр отображения тени: 0 - не рисуется, 1 - рисуется;
  • сглаж вкл. (cntV) - Параметр отображения сглаженных краев: 0 - не рисуется, 1 - рисуется;
  • сглаж границ (smB) - Параметр сглаживания границ фрагментов: 0 - нет сглаживания, любое число - число точек соседнего фрагмента;
  • прозр. тени (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) - Нижний бордюр экрана игрового поля.

C помощью данных параметров можно ограничить область, в которой таскаются элементы пачворка. Значение бордюра - расстояние от края экрана, до области, в которой можно таскать элементы. Например выставлен верхний бордюр в 50, значит мы не сможем перетащить элемент в область шириной 50 пикселей от верха экрана. Также для частей пачворка нужно задать шейпы.


Группа - разброс элементов:

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


Группа - взятие частей:

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


Группа - звуки:

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


Группа - хинт 1: (подсказка ставит на место выбранный элемент patchwork)

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


Группа - хинт 2: (подсказка показывает элемент patchwork из таблицы, и его конечное положение)

  • время хинта (h2Time) - Время работы хинта;
  • время пауз (h2Pause) - Время пауз между событиями;
  • время пульса (h2Pulse) - Время пульса подсказки.

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

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


+.png начинаем игру: изменить состояние объекта (nstBeg)- начинаем игру: изменить состояние объекта - В начале игры перевести объект в новое состояние:

  • объект (obj) - В начале игры перевести объект в состояние из следующего поля;
  • состояние (st) - Новое состояние для объекта из предыдущего поля.


+.png начинаем игру: изменить параметр объекта (chgBeg) - В начале игры изменить параметр объекта:

  • объект (obj) - В начале игры этот объект меняет свой параметр;
  • свойство (par) - Параметр, который мы изменяем;
  • значение (val) - Новое значение параметра.


+.png поставили на место: изменить состояние объекта (nstRightPl) - После успешной вставки перевести объект в новое состояние:

  • объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
  • состояние (st) - Новое состояние для объекта из предыдущего поля.


+.png поставили на место: изменить параметр объекта (chgRightPl) - После успешной вставки изменить параметр объекта:

  • объект (obj) - После успешной вставки этот объект меняет свой параметр;
  • свойство (par) - Параметр, который мы изменяем;
  • значение (val) - Новое значение параметра.


+.png поставили не на место: изменить состояние объекта (nstErorPl) - После не успешной вставки перевести объект в новое состояние:

  • объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
  • состояние (st) - Новое состояние для объекта из предыдущего поля.


+.png поставили не на место: изменить параметр объекта (chgErorPl) - После неуспешной вставки изменить параметр объекта:

  • объект (obj) - После успешной вставки этот объект меняет свой параметр;
  • свойство (par) - Параметр, который мы изменяем;
  • значение (val) - Новое значение параметра.


+.png потянули: изменить состояние объекта (nstDragStart) - При начале таскания перевести объект в новое состояние:

  • объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
  • состояние (st) - Новое состояние для объекта из предыдущего поля.


+.png перестали тянуть (nstDragStop) - При завершении таскания перевести объект в новое состояние:

  • объект (obj) - После успешной вставки перевести объект в состояние из следующего поля;
  • состояние (st) - Новое состояние для объекта из предыдущего поля.


+.png завершили: если был экран (wscrOk) - При сборе всех элементов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен:

  • был экран (was) - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз;
  • перейти на (scr) - Переходим на этот экран, если экран из предыдущего поля уже открывался.


+.png завершили: изменить состояние объекта (nstOk) - При сборе всех элементов перевести объект в новое состояние:

  • объект (obj) - При сборе всех элементов перевести объект в состояние из следующего поля;
  • состояние (st) - Новое состояние для объекта из предыдущего поля.

+.png завершили: изменить параметр объекта (chgOk) - При сборе всех элементов, изменить параметр объекта:

  • объект (obj) - При сборе всех элементов объект меняет свой параметр;
  • свойство (par) - Параметр, который мы изменяем;
  • значение (val) - Новое значение параметра.

+.png параметры фрагмента (ppar) - Изменить параметры фрагмента:

  • объект (obj) - Параметр данного фрагмента будем менять (для типа пэчворка "1" если нужно, чтобы объект перед сбором пэчворка находился в конкретной точке);
  • start x (x) - Начальная позиция по X перед сбором фрагментов;
  • start y (y) - Начальная позиция по Y перед сбором фрагментов;
  • angle (ang) - Начальный угол перед сбором фрагментов.

Описание типов пэчворков

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

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

Пэчворк 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 типа.

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

Обязательно!:

- в строке состояния указать состояние - mix (иначе по умолчанию - init, будет ожидать клик).
- указать параметры (иначе при двойном клике, нажатая часть сразу станет на своё место):
Элементы пэчворка:
Вращаемость = 1;
Угол вращения = число.

Состояния patchwork

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

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

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


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

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


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

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

П1.PNG

Обязательно!:

- в строке состояния указать состояние - mix.
- указать параметры (иначе при двойном клике, нажатая часть сразу станет на своё место):
Элементы пэчворка:
Вращаемость = 1;
Угол вращения = число.

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

П2.PNG

П3.PNG