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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Основные параметры)
(Пэчворк 1-го типа)
 
(не показано 46 промежуточных версий 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]]
+
 
[[Файл:Patchwork properties part2.png|right]]
+
==Основные параметры==
 +
[[Файл:Patchwork properties part1.png|250px|right]]
 +
 
 +
'''Общие параметры:'''
 +
(см. описание [[Object|Object]])
 +
 
 +
''(Курсивом в скобках указан id параметра или состояния)''
 +
*'''Тип''' (''iType'') - важный параметр,определяющий тип механики patchwork, более детально [[#Типы пэчворков|см. типы пэчворков]]:
 +
:'''0-ый тип''' - пэчворк, который использует маску для разрезания изображений;
 +
:'''1-ый тип''':
 +
::- пэчворк, разрезанные фрагменты которого являются его подобъектами;
 +
::- круговой пэчворк, разрезанные фрагменты которого являются его подобъектами.
 +
 
 +
*'''Состояние''' (''state'') - Начальное состояние: '''mix''' - сразу перемешать после запуска?, '''mix_and_fly''' - перемешать с анимацией полета.
 +
 
 +
*'''Память''' (''memo''): '''1''' - при повторном открытии экрана объект не обновляет свои параметры (''помнит текущие параметры, оставшиеся от предыдущего посещения экрана''), '''0''' - при повторном открытии экрана объект обновит свои параметры.
 +
 
 +
 
 +
'''Группа - Внешний вид:'''
 +
*'''карт. спереди''' (''res'') - Графический ресурс картинки пэчворка спереди. Перетаскивается мышкой из редактора ресурсов (''поле должно находится в состоянии редактирования'');
 +
*'''карт. сзади''' (''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''' - значение будет сохранено глобально.
 +
 
 +
 
 +
'''Группа - элементы пачворка:'''
 +
*'''тип перемещения фрагментов''' (''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|right]]
 
[[Файл:Patchwork properties part3.png|right]]
 +
'''Группа - игровое поле:'''
 +
*'''использование''' (''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 относительно пивота.
 +
  
*'''Тип''' - Выбранный тип объекта определяет его функциональное назначение и его свойства.
+
'''Группа - звуки:'''
*'''Имя''' (nm) - Имя объекта patchwork в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов. 
+
*'''приклеился''' (''sMag'') - Объект приклеился к другому объекту;
*'''Id''' - Уникальный номер объекта.
+
*'''стал на свое место''' (''sPl'') - Объект стал на место на сцене;
*'''Синхронизация''' (sync) - Применяется для синхронизации между лейаутами, если указан параметр нет то объект будет активен только на текущем лейауте
+
*'''захватили перемещать''' (''sDr'') - Объект захватили для перемещения;  
*'''Сохранение параметров''' (sv) - Настройка этого параметра актуальна, если приложение в дальнейшем будет сворачиваться в системную панель («трей»). При выходе из трэя будут восстановлены ранее измененные/установленные (при переходе с одного экрана на другой)параметры объектов или подобъектов в зависимости от выбранного варианта для этого параметра. По умолчанию указан параметр "нет". Возможны следующие варианты: "нет", "только объект", "Объект с подобъектами", "только подобъекты".<br>
+
*'''отпустили, но не на месте''' (''sEr'') - Объект отпустили, но он оказался не на своем месте;  
Следует помнить, что если выбирается для объекта некоторой сцены значения этого параметра отличное от "нет", то должно и предусматриваться соответствующее значение этого параметра и для этой сцены, и для экрана, содержащего эту сцену.
+
*'''вернули в таблицу''' (''sTbl'') - Объект вернули в таблицу (''убрали с поля'').
*'''Положение''' - группа, обьединяющая координаты:
 
**'''Положение X''' (x) - Горизонтальная координата центра графического объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены;
 
**'''Положение Y''' (y) - Вертикальная координата центра графического объекта (его точки пивота) в пикселях. Отсчитывается от точки пивота сцены.
 
*'''Тип''' (iType) - важный параметр,определяющий тип механики patchwork, более детально [[Типы пэчворков]]:
 
** '''0-ый тип''' - пэчворк, который использует маску для разрезания изображений;
 
** '''1-ый тип''' - пэчворк, разрезанные фрагменты которого являются его подобъектами;
 
** '''2-ый тип''' - круговой пэчворк, разрезанные фрагменты которого являются его подобъектами.
 
*'''Размер''' - группа, обьединяющая размеры patchwork:
 
**'''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, затем, поверх них - с меньшим.
 
*'''состояние''' (state) - Параметр, в который перейдёт patchwork при инициализации:
 
**'''mix''' - перемешать сразу после запуска;
 
**'''mix_and_fly''' - перемешать с анимацией полета;
 
**'''init''' - исходное состояние пэчворка. Для того, чтобы пэчворк попал в таблицу нужно сделать по нему тап и можно будет наблюдать анимацию перемещения пэчворка в таблицу;
 
**'''добавить'''
 
**'''добавить'''
 
*'''Память''' (memo):
 
**'''1''' - при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана);
 
**'''0''' - при повторном открытии экрана объект обновит свои параметры.
 
  
*'''Внешний вид''' - группа:
 
**'''карт. спереди''' (res) - Графический ресурс картинки пэчворка спереди. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
 
**'''карт. сзади''' (resBack) - Графический ресурс картинки пэчворка сзади. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
 
**'''шаблон''' (resT) - Графический ресурс - битовая маска, используемая для разрезки картинки на части;
 
**'''флаер на свое место''' (fly) - Флаер анимации установки на свое место;
 
**'''флаер соединен с соседом''' (flyCn) - Флаер анимации соединения с соседом.
 
  
*'''Счетчики''' - группа:
+
'''Группа - хинт 1:''' (подсказка ставит на место выбранный элемент patchwork)
**'''таймер''' (timer) - Таймер, связанный с пазлой;  
+
*'''палец нажат''' (''h1resDn'') - Графический ресурс нажатого пальца;  
**'''счетчик''' (count) - Счетчик сделанных ходов;
+
*'''палец отжат''' (''h1resUp'') - Графический ресурс отжатого пальца;  
**'''игра''' (game) - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов);  
+
*'''скор. руки''' (''h1VelH'') - Скорость движения руки пикс/мин;
**'''уровень''' (level) - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для достжений запись будет равна [game.]level=1, для счетчика [game.]level+ct=число, для времени [game.]level+tm=время.
+
*'''время пауз''' (''h1Pause'') - Время пауз между событиями.  
**'''сохранять в профиль''' (prof):
 
***'''1''' - значение будет сохранено в текущий профиль;
 
***'''0''' - значение будет сохранено глобально.  
 
  
*'''Элементы пачворка''' - группа:
 
**'''тип перемещения фрагментов''' (mvType) - перемещение элементов пачворка:
 
***'''0''' - произвильное;
 
***'''1''' - по кругу, относительно точки пивота;
 
**'''размещение''' (place) - Положение элементов пачворка:
 
***'''0''' - располагаются в таблице;
 
***'''1''' - на экране.
 
  
 +
'''Группа - хинт 2:''' (подсказка показывает элемент patchwork из таблицы, и его конечное положение)
 +
*'''время хинта''' (''h2Time'') - Время работы хинта;
 +
*'''время пауз''' (''h2Pause'') - Время пауз между событиями;
 +
*'''время пульса''' (''h2Pulse'') - Время пульса подсказки.
  
 +
==Добавляемые параметры пачворка==
 +
Меню выбора ''Добавляемые параметры к объектам'' активируется по правой кнопки мыши.
  
**'''таблица''' (table) - Объект, типа table который является визуальным отображением списка элементов пачворка;
 
**'''скорость полета''' (velFly) - Cкорость полета элементов пачворка, измеряется в пикселях за минуту;
 
**'''тень вкл.''' (shV) - Параметр отображения тени:
 
***'''0''' - не рисуется;
 
***'''1''' - рисуется.
 
**'''сглаж вкл.''' (cntV) - Параметр отображения сглаженных краев:
 
***'''0''' - не рисуется;
 
***'''1''' - рисуется.
 
  
**'''сглаж границ''' (smB) - Параметр сглаживания границ фрагментов:
+
[[Файл:+.png]]  '''начинаем игру: изменить состояние объекта''' (''nstBeg'')- начинаем игру: изменить состояние объекта - В начале игры перевести объект в новое состояние:
***'''0''' - нет сглаживания;
+
*'''объект''' (''obj'') - В начале игры перевести объект в состояние из следующего поля;
***'''1''' - число точек соседнего фрагмента;
+
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
***'''любое число''' - число точек соседнего фрагмента.
 
**'''прозр. тени''' (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''' - показывать.  
 
  
*'''игровое поле''' - группа:
 
**'''использование''' (isGField):
 
**'''1''' - использовать ниже приведенные параметры;
 
**'''0''' - не использовать.
 
**'''лев. бордюр''' (mixLOffs) - Левый бордюр экрана игрового поля;
 
**'''пр. бордюр''' (mixROffs) - Правый бордюр экрана игрового поля;
 
**'''вер. бордюр''' (mixTOffs) - Верхний бордюр экрана игрового поля;
 
**'''ниж. бордюр''' (mixBOffs) - Нижний бордюр экрана игрового поля.
 
  
*'''разброс элементов''' - группа
+
[[Файл:+.png]] '''начинаем игру: изменить параметр объекта''' (''chgBeg'') - В начале игры изменить параметр объекта:
**'''дисперсия X''' (mixDispX) - Дисперсия элементов пачворка при размещении на экране по оси X;
+
*'''объект''' (''obj'') - В начале игры этот объект меняет свой параметр;
**'''дисперсия Y''' (mixDispX) - Дисперсия элементов пачворка при размещении на экране по оси Y;
+
*'''свойство''' (''par'') - Параметр, который мы изменяем;
**'''изм. угол''' (dispRot) - Изменить угол после разброса элементов на экране "regexp=":
+
*'''значение''' (''val'') - Новое значение параметра.
***'''0''' - нет;
 
***'''1''' - да.
 
  
*'''взятие частей''' - группа:
 
  
**'''тип взятия''' (takeTp):
+
[[Файл:+.png]]  '''поставили на место: изменить состояние объекта''' (''nstRightPl'') - После успешной вставки перевести объект в новое состояние:
***'''0''' - за что взяли, то и тянем, 1 - берем всегда за пивот, смещение указателя ниже;
+
*'''объект''' (''obj'') - После успешной вставки перевести объект в состояние из следующего поля;
**'''смещ. X''' (takeShX) - смещение по оси X относительно пивота;  
+
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
**'''смещ. Y''' (takeShY) - смещение по оси Y относительно пивота.  
 
  
    звуки
 
  
    приклеился - Объект приклеился с другим объектом;
+
[[Файл:+.png]]  '''поставили на место: изменить параметр объекта''' (''chgRightPl'') - После успешной вставки изменить параметр объекта:
    стал на свое место - Объект стал на место на сцене
+
*'''объект''' (''obj'') - После успешной вставки этот объект меняет свой параметр;
    захватили перемещать - Объект захватили для перемещения;  
+
*'''свойство''' (''par'') - Параметр, который мы изменяем;
    отпустили, но не на месте - Объект отпустили но он не на месте;  
+
*'''значение''' (''val'') - Новое значение параметра.
    вернули в таблицу - Объект вернули в таблицу (убрали с поля);
 
  
    хинт 1
 
  
    палец нажат - Графический ресурс нажатого пальца;
+
[[Файл:+.png]]  '''поставили не на место: изменить состояние объекта''' (''nstErorPl'') - После не успешной вставки перевести объект в новое состояние:
    палец отжат - Графический ресурс отжатого пальца;  
+
*'''объект''' (''obj'') - После успешной вставки перевести объект в состояние из следующего поля;
    скор. руки - Скорость движения руки пикс/мин;
+
*'''состояние''' (''st'') - Новое состояние для объекта из предыдущего поля.
    время пауз - Время пауз между событиями;
 
  
    хинт 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-ый тип]] '')
* круговой пэчворк, разрезанные фрагменты которого являются его подобъектами (2-ый тип)
+
* круговой пэчворк, разрезанные фрагменты которого являются его подобъектами ('' [[#Круговой Пэчворк 1-го типа|1-ый тип]] '')
  
 
===Пэчворк 0-го типа===
 
===Пэчворк 0-го типа===
 
Каким образом работает пэчворк?
 
Каким образом работает пэчворк?
Существует какая-то картинка. Для того, чтобы использовать эту картинку в игре (собрать ее из кусков), нужно сперва разрезать ее. Для разрезания картинки используется ее маска, то есть тот контур по которому редактор будет разрезать изображение. После разрезания картинки, полученные куски (части) изображения попадают в таблицу, которая прикрепленна к пэчворку. Благодаря таблице существует возможность наблюдать за разрезанными частями и выносить их на поле для дальнейшего складывания пэчворка. В случае, если таблица не была прикреплена к пэчворку, то разрезанные изображения исчезнут за границами экрана.
+
Существует какая-то картинка. Для того, чтобы использовать эту картинку в игре (''собрать ее из кусков''), нужно сперва разрезать ее. Для разрезания картинки используется ее маска, то есть тот контур по которому редактор будет разрезать изображение. После разрезания картинки, полученные куски (''части'') изображения попадают в таблицу, которая прикреплена к пэчворку. Благодаря таблице существует возможность наблюдать за разрезанными частями и выносить их на поле для дальнейшего складывания пэчворка. В случае, если таблица не была прикреплена к пэчворку, то разрезанные изображения исчезнут за границами экрана.
 
<br>
 
<br>
 
'''Создание пэчворка 0-го типа пошагово:'''
 
'''Создание пэчворка 0-го типа пошагово:'''
# Добавить новый объект на сцену и указать ему тип "пэчворк (patchwork)":  
+
# Добавить новый объект на сцену и указать ему тип "пэчворк (''patchwork'')":  
 
##На панели '''''дерево проекта''''' выделить нужную сцену
 
##На панели '''''дерево проекта''''' выделить нужную сцену
##Нажать правую кнопку мыши (ПКМ) и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''  
+
##Нажать правую кнопку мыши (''ПКМ'') и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''  
 
##Перейти на панель свойств объекта '''''Property'''''  
 
##Перейти на панель свойств объекта '''''Property'''''  
 
##Выбрать тип объекта '''''patchwork'''''
 
##Выбрать тип объекта '''''patchwork'''''
Строка 176: Строка 206:
 
##Раскрыть поле '''''внешний вид'''''
 
##Раскрыть поле '''''внешний вид'''''
 
##В поле '''''карт. спереди''''' с помощью редактора ресурсов подгрузить исходную картинку, а в поле '''''шаблон''''' подгрузить маску, которая будет разрезать картинку
 
##В поле '''''карт. спереди''''' с помощью редактора ресурсов подгрузить исходную картинку, а в поле '''''шаблон''''' подгрузить маску, которая будет разрезать картинку
# Добавить новый объект на сцену и указать ему тип "таблица (table)":  
+
# Добавить новый объект на сцену и указать ему тип "таблица (''table'')":  
 
##На панели '''''дерево проекта''''' выделить нужную сцену  
 
##На панели '''''дерево проекта''''' выделить нужную сцену  
##Нажать правую кнопку мыши (ПКМ) и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''
+
##Нажать правую кнопку мыши (''ПКМ'') и в всплывающем списке выбрать '''''создать объект в текущем элементе'''''
 
##Выбрать панель '''''Property'''''
 
##Выбрать панель '''''Property'''''
 
##Выделить поле '''''тип''''' объекта и в всплывающем списке выбрать '''''table'''''
 
##Выделить поле '''''тип''''' объекта и в всплывающем списке выбрать '''''table'''''
Строка 198: Строка 228:
 
<br>
 
<br>
 
<br>
 
<br>
 +
 +
 
===Пэчворк 1-го типа===
 
===Пэчворк 1-го типа===
 
Чем отличается пэчворк 1-го типа от пэчворка 0-го типа?
 
Чем отличается пэчворк 1-го типа от пэчворка 0-го типа?
Строка 204: Строка 236:
 
# Зайти на панель '''''дерево проекта'''''
 
# Зайти на панель '''''дерево проекта'''''
 
# Переместить графические объекты в группу к пэчворку
 
# Переместить графические объекты в группу к пэчворку
 +
 +
Если необходимо, чтобы в пэчворке начальные координаты подобъектов до сбора отличались от конечных, то необходимо использовать добавляемое свойство "Параметры фрагмента" и там указать начальные координаты и, при необходимости, угол для подобъектов пэчворка.
 
[[Файл:Example_1st_type.jpg]]
 
[[Файл:Example_1st_type.jpg]]
  
 
===Круговой Пэчворк 1-го типа===
 
===Круговой Пэчворк 1-го типа===
 
+
На поле расположено одно изображение, разрезанное на части в форме концентрических колец с одним центром. Кольцевые части могут вращаться вокруг общего центра при помощи захвата пальцем(''зажатой кнопкой мыши''). В начале игры кольца сдвинуты относительно своего правильного положения каждое на произвольный угол. Как только два кольца выставляются друг относительно друга в правильное положение они слипаются - "паркуются", и в дальнейшем вращаются вместе.
На поле расположено одно изображение, разрезанное на части в форме концентрических колец с одним центром. Кольцевые части могут вращаться вокруг общего центра при помощи захвата пальцем(зажатой кнопкой мыши). В начале игры кольца сдвинуты относительно своего правильного положения каждое на произвольный угол. Как только два кольца выставляются друг относительно друга в правильное положение они слипаются - "паркуются", и в дальнейшем вращаются вместе.
 
  
 
Цель игры: выставить каждое из колец в правильное положение, чтоб исходное изображение было восстановлено.
 
Цель игры: выставить каждое из колец в правильное положение, чтоб исходное изображение было восстановлено.
Строка 216: Строка 249:
 
Для данного типа пачворка существует ряд настроек, относящихся только к нему.
 
Для данного типа пачворка существует ряд настроек, относящихся только к нему.
  
===Свойства объекта===
+
'''Обязательно!''':
Свойства объекта нужны для настройки соответствующей работы объекта. Благодаря большому колличеству параметров существует возможно настроить положение, тип, состояние в каком находится пэчворк и т.д. 
+
:- в строке состояния указать состояние - '''mix''' (иначе по умолчанию - init, будет ожидать клик).
====Параметры пачворка====
+
:- указать параметры (иначе при двойном клике, нажатая часть сразу станет на своё место):
*'''внешний вид'''
+
::Элементы пэчворка:
:'''карт. спереди''' - Графический ресурс картинки пэчворка спереди. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
+
:::'''Вращаемость''' = 1;
:'''карт. сзади''' - Графический ресурс картинки пэчворка сзади. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования);
+
:::'''Угол вращения''' = число.
:'''шаблон''' - Графический ресурс - битовая маска, используемая для разрезки картинки на части;
 
:'''флаер на свое место''' - Флаер анимации установки на свое место;
 
:'''флаер соединен с соседом''' - Флаер анимации соединения с соседом;
 
*'''счетчики'''
 
:'''таймер''' - Таймер, связанный с пазлой;
 
:'''счетчик''' - Счетчик сделанных ходов;
 
:'''игра''' - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов);
 
:'''уровень''' - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для достжений запись будет равна [game.]level=1, для счетчика [game.]level+ct=число,  для времени [game.]level+tm=время
 
:'''сохранять в профиль''' - Если 1, то значение будет сохранено в текущий профиль, если 0 - то глобально.
 
*'''элементы пачворка'''
 
:'''тип премещения фрагментов''' - перемещение элементов пачворка: 0 - произвильное, 1 - по кругу, относительно точки пивота;
 
:'''размещение''' - Положение элементов пачворка: 0 - располагаются в таблице, 1 - на экране;
 
:'''таблица''' - Объект, типа table который является визуальным отображением списка элементов пачворка;
 
:'''скорость полета''' - Cкорость полета элементов пачворка, измеряется в пикселях за минуту;  
 
:'''тень вкл.''' - Параметр отображения тени: 0 - не рисуется, 1 - рисуется
 
:'''сглаж границ''' - Параметр сглаживания границ фрагментов: 0 - нет сглаживания, 1 и т.д - число точек соседнего фрагмента
 
:'''прозр. тени''' - Альфа тени: от 0 (прозрачна) до 1 (не прозрачна)
 
:'''смещение тени''' - Смещение тени в пикселях относительно основного фрагмента
 
:'''смещение тени в фокусе''' - Смещение тени в пикселях относительно основного фрагмента, когда последний в фокусе
 
:'''скалир в фокусе''' - Коэффициент масштабирования элемента при попадании в фокус (1 - не изменяется)
 
:'''вращаемость''' - 1 - элементы можно вращать на угол, указанный ниже; 0 - нельзя вращать;
 
:'''угол вращения''' - угол, на который можно повернуть объект за один раз;
 
:'''скорость вращения''' - скорость вращения в градусах за сек.;
 
:'''притяжение табл''' - расстояние до таблицы начиная с которого объекты уменьшают размер;
 
:'''события переворота''' - По какому событию происходит переворот 0 - по клику, 1 - по двойному клику
 
:'''ось переворота''' - 0 - переворот оси X, 1 - переворот оси Y;
 
:'''скорость переворота''' - скорость переворота в градусах за сек.;
 
:'''оставлять в конце игры''' - 0 - не показывать при сборе всех частей, 1 - показывать;
 
*'''игровое поле'''
 
:'''использование''' - 1 - использовать ниже приведенные параметры, 0 - не использовать;
 
:'''лев. бордюр''' - Левый бордюр экрана игрового поля;
 
:'''пр. бордюр''' - Правый бордюр экрана игрового поля;
 
:'''вер. бордюр''' - Верхний бордюр экрана игрового поля;
 
:'''ниж. бордюр''' - Нижний бордюр экрана игрового поля;
 
*'''разброс элементов'''
 
:'''дисперсия''' - Дисперсия элементов пачворка при размещении на экране;
 
*'''взятие частей'''
 
:'''тип взятия''' - 0 - за что взяли, то и тянем, 1 - берем всегда за пивот, смещение указателя ниже;
 
:'''смещ. X''' - смещение по оси X относительно пивота;  
 
:'''смещ. Y''' - смещение по оси Y относительно пивота;  
 
*'''звуки'''
 
:'''приклеился''' - Объект приклеился с другим объектом;
 
:'''стал на свое место''' - Объект стал на место на сцене
 
:'''захватили перемещать''' - Объект захватили для перемещения;
 
:'''отпустили, но не на месте''' - Объект отпустили но он не на месте;
 
:'''вернули в таблицу''' - Объект вернули в таблицу (убрали с поля);
 
*'''хинт 1'''
 
:'''палец нажат''' - Графический ресурс нажатого пальца;
 
:'''палец отжат''' - Графический ресурс отжатого пальца;
 
:'''скор. руки''' - Скорость движения руки пикс/мин;
 
:'''время пауз''' - Время пауз между событиями;
 
*'''хинт 2'''
 
:'''время хинта''' - Время работы хинта;
 
:'''время пауз''' - Время пауз между событиями;
 
:'''время пульса''' - Время пульса подсказки;
 
*'''начинаем игру: изменить состояние объекта''' - начинаем игру: изменить состояние объекта - В начале игры перевести объект в новое состояние;
 
:'''объект''' - В начале игры перевести объект в состояние из следующего поля;
 
:'''состояние''' - Новое состояние для объекта из предыдущего поля;
 
*'''начинаем игру: изменить параметр объекта''' - В начале игры изменить параметр объекта
 
:'''объект''' - В начале игры этот объект меняет свой параметр;
 
:'''свойство''' - Параметр, который мы изменяем.
 
:'''значение''' - Новое значение параметра.
 
*'''поставили на место: изменить состояние объекта''' - После успешной вставки перевести объект в новое состояние.
 
:'''объект''' - После успешной вставки перевести объект в состояние из следующего поля.
 
:'''состояние''' - Новое состояние для объекта из предыдущего поля.
 
*'''поставили на место: изменить параметр объекта''' - После успешной вставки изменить параметр объекта.
 
:'''объект''' - После успешной вставки этот объект меняет свой параметр.
 
:'''свойство''' - Параметр, который мы изменяем.
 
:'''значение''' - Новое значение параметра.
 
*'''поставили не на место: изменить состояние объекта''' - После неуспешной вставки перевести объект в новое состояние.
 
:'''объект''' - После успешной вставки перевести объект в состояние из следующего поля.
 
:'''состояние''' - Новое состояние для объекта из предыдущего поля.
 
*'''поставили не на место: изменить параметр объекта''' - После неуспешной вставки изменить параметр объекта.
 
:'''объект''' - После успешной вставки этот объект меняет свой параметр.
 
:'''свойство''' - Параметр, который мы изменяем.
 
:'''значение''' - Новое значение параметра.
 
*'''завершили: если был экран''' - При сборе всех элементов, переходим на определенный экран, если некоторый экран был уже хотя бы раз посещен.
 
:'''был экран''' - Экран, который мы проверяем на то, был ли он уже открыт хотя бы один раз.
 
:'''перейти на''' - Переходим на этот экран, если экран из предыдущего поля уже открывался.
 
*'''завершили: изменить состояние объекта''' - При сборе всех элементов перевести объект в новое состояние.
 
:'''объект''' - При сборе всех элементов перевести объект в состояние из следующего поля.
 
:'''состояние''' - Новое состояние для объекта из предыдущего поля.
 
*'''завершили: изменить параметр объекта''' - При сборе всех элементов, изменить параметр объекта.
 
:'''объект''' - При сборе всех элементов объект меняет свой параметр.
 
:'''свойство''' - Параметр, который мы изменяем.
 
:'''значение''' - Новое значение параметра.
 
  
====Тип (iType)====
+
==Состояния patchwork==
<br>
+
 
Как говорилось выше, пэчворк бывает двух основных типов.
+
Параметр, в который перейдёт patchwork при инициализации:
Типы инициализации игры:
+
*'''mix''' - перемешать сразу после запуска;
<br>
+
*'''mix_and_fly''' - перемешать с анимацией полета;
*0 - для разрезания используется маска
+
*'''init''' - исходное состояние пэчворка. Для того, чтобы пэчворк попал в таблицу нужно сделать по нему тап и можно будет наблюдать анимацию перемещения пэчворка в таблицу;
*1 - разрезанные фрагменты являються подобъектами пачворка
+
*'''hint1''' - который ставит на место выбранные элемент patchwork, [[#Параметры состояний hint1 и hint2|см. параметры состояний hint1 и hint2]];
 +
*'''hint2''' - показывает элемент patchwork из таблицы, и конечное положение элемента, [[#Параметры состояний hint1 и hint2|см. параметры состояний hint1 и hint2]].
 +
В случае, если это поле останется пустым, то это будет приравниваться к тому, что пэчворк находится в состоянии '''''init'''''
  
====Размер====
 
Позволяет настроить размеры '''''объекта''''' (то есть рамку), а не размеры самих графических ресурсов, подгружаемых в пэчворк.
 
<br>
 
*'''w''' (" w ") - ширина объекта в пикселях
 
*'''h''' (" h ") - высота объекта в пикселях
 
  
====Состояние====
 
Позволяет определить в каком начальном состоянии будет находится объект. Существует несколько основных состояний:
 
<br>
 
* '''mix''' - сразу перемешать после запуска. После запуска уровня, разрезанный пэчворк сразу появится в таблице
 
* '''mix_and_fly'''  - перемешать с анимацией полета. Как только загружается уровень на котором находится пэчворк, автомтаически появляется анимация перемещения разрезанных частей с исходного места в таблицу.
 
* '''init''' - исходное состояние пэчворка. Для того, чтобы пэчворк попал в таблицу нужно сделать по нему тап и можно будет наблюдать анимацию перемещения пэчворка в таблицу
 
<br>
 
В случае, если это поле останется пустым, то это будет приравниваться к тому, что пэчворк находится в состоянии '''''init'''''
 
  
 
==Пример применения==
 
==Пример применения==
 +
  
 
===Пример создания 0-го типа пэчворка===
 
===Пример создания 0-го типа пэчворка===
Строка 351: Строка 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