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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Пример)
Строка 7: Строка 7:
 
[[Файл:Unb1.png|thumb|right]]
 
[[Файл:Unb1.png|thumb|right]]
  
* ''файл уровня'' - файл с описанием уровней.
+
* '''''файл уровня''''' - файл с описанием уровней.
* ''номер уровня'' - номер текущего уровня.
+
* '''''номер уровня''''' - номер текущего уровня.
* ''скорость доводки'' - скорость доводки блоков пикс/сек.
+
* '''''скорость доводки''''' - скорость доводки блоков пикс/сек.
 
* '''счетчики'''
 
* '''счетчики'''
** ''ходы'' - счетчик оставшихся ходов.
+
** '''''ходы''''' - счетчик оставшихся ходов.
** ''время'' - счетчик оставшегося времени.
+
** '''''время''''' - счетчик оставшегося времени.
 
* '''звуки'''
 
* '''звуки'''
** ''начало движения'' - звук, который воспроизводится в начале движения блока.
+
** '''''начало движения''''' - звук, который воспроизводится в начале движения блока.
** ''конец движения'' - звук, который воспроизводится в конце движения блока.
+
** '''''конец движения''''' - звук, который воспроизводится в конце движения блока.
  
 
=='''Дополнительные параметры'''==
 
=='''Дополнительные параметры'''==
 
[[Файл:Unb2.jpg|330px|left]]
 
[[Файл:Unb2.jpg|330px|left]]
 
* '''графика блока''' - ресурс, используемый для отрисовки игрового блока. Номер в списке соответствует номеру блока в файле уровней(в 1 свойстве указывается главный блок который нужно довести к выходу, 2 свойство - 2 блок и т.д.)
 
* '''графика блока''' - ресурс, используемый для отрисовки игрового блока. Номер в списке соответствует номеру блока в файле уровней(в 1 свойстве указывается главный блок который нужно довести к выходу, 2 свойство - 2 блок и т.д.)
** ''клип'' - клип блока, пивот должен быть в центре левой/верхней клетки, перетаскивается из редактора ресурсов.
+
** '''''клип''''' - клип блока, пивот должен быть в центре левой/верхней клетки, перетаскивается из редактора ресурсов.
** ''размер'' - размер блока в игровых клетках.
+
** '''''размер''''' - размер блока в игровых клетках.
  
 
* '''изменить состояние объекта - победа''' - обработчик победы
 
* '''изменить состояние объекта - победа''' - обработчик победы
** ''объект'' - объект, состояние которого меняем.
+
** '''''объект''''' - объект, состояние которого меняем.
** ''состояние'' - новое состояние для объекта из предыдущего поля.
+
** '''''состояние''''' - новое состояние для объекта из предыдущего поля.
  
 
* '''изменить состояние объекта - поражение''' - обработчик поражения
 
* '''изменить состояние объекта - поражение''' - обработчик поражения
** ''объект'' - объект, состояние которого меняем.
+
** '''''объект''''' - объект, состояние которого меняем.
** ''состояние'' - новое состояние для объекта из предыдущего поля.
+
** '''''состояние''''' - новое состояние для объекта из предыдущего поля.
  
 
* '''изменить состояние объекта - ход''' - обработчик нужен для активации кнопки "откатить"
 
* '''изменить состояние объекта - ход''' - обработчик нужен для активации кнопки "откатить"
** ''объект'' - объект, состояние которого меняем.
+
** '''''объект''''' - объект, состояние которого меняем.
** ''состояние'' - новое состояние для объекта из предыдущего поля.
+
** '''''состояние''''' - новое состояние для объекта из предыдущего поля.
  
 
=='''Состояния'''==
 
=='''Состояния'''==
Строка 79: Строка 79:
 
   Номера блоков соответствуют порядку указания дополнительных свойств "графика блока"
 
   Номера блоков соответствуют порядку указания дополнительных свойств "графика блока"
 
   В точке, в которой указано число, находится крайняя левая/верхняя ячейка блока.
 
   В точке, в которой указано число, находится крайняя левая/верхняя ячейка блока.
   Если число указано с знаком “-”, то блок поворачиваем на 90 градусов по часовой стрелке и получаем вертикальный блок.  
+
   Если число указано с знаком “-”, то блок на поле размещается вертикально.  
  
 
   <answer> - решение от первого до последнего хода в виде набора чисел через запятую. Числа сгруппированы по 4: x1, y1, x2, y2.
 
   <answer> - решение от первого до последнего хода в виде набора чисел через запятую. Числа сгруппированы по 4: x1, y1, x2, y2.

Версия 12:22, 8 февраля 2016

Unblock - объект редактора, который реализует игровую механику "unblock" - передвигая игровые блоки, нужно вывести главный блок к выходу.


Основные свойства

Unb1.png
  • файл уровня - файл с описанием уровней.
  • номер уровня - номер текущего уровня.
  • скорость доводки - скорость доводки блоков пикс/сек.
  • счетчики
    • ходы - счетчик оставшихся ходов.
    • время - счетчик оставшегося времени.
  • звуки
    • начало движения - звук, который воспроизводится в начале движения блока.
    • конец движения - звук, который воспроизводится в конце движения блока.

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

Unb2.jpg
  • графика блока - ресурс, используемый для отрисовки игрового блока. Номер в списке соответствует номеру блока в файле уровней(в 1 свойстве указывается главный блок который нужно довести к выходу, 2 свойство - 2 блок и т.д.)
    • клип - клип блока, пивот должен быть в центре левой/верхней клетки, перетаскивается из редактора ресурсов.
    • размер - размер блока в игровых клетках.
  • изменить состояние объекта - победа - обработчик победы
    • объект - объект, состояние которого меняем.
    • состояние - новое состояние для объекта из предыдущего поля.
  • изменить состояние объекта - поражение - обработчик поражения
    • объект - объект, состояние которого меняем.
    • состояние - новое состояние для объекта из предыдущего поля.
  • изменить состояние объекта - ход - обработчик нужен для активации кнопки "откатить"
    • объект - объект, состояние которого меняем.
    • состояние - новое состояние для объекта из предыдущего поля.

Состояния

  • add_time - добавить время, перед передачей состояния, установить объекту в param значение, сколько времени добавляем; можно указывать отрицательное значение - уменьшим оставшееся время.
  • add_turns - добавить ходов, перед передачей состояния, установить объекту в param значение, сколько ходов добавляем; можно указывать отрицательное значение - уменьшим оставшееся количество ходов.
  • hint - показать следующий шаг из решения; в файле уровней должно быть указано решение.
  • reset - сбросить уровень - начать игру заново.
  • undo - отменить последний ход; возможность сделать откат должна появляться после сделанного хода (см. изменить состояние объекта - ход)

Файл уровней

 <?xml version="1.0" encoding="UTF-8"?>
 <levels>
 <level id="0" w="6" h="6" exit_x="5" exit_y="2" turns="20" time="120" final_shift="40" final_vx="5">
 <field val="0,0,3,0,0,-3,
 0,0,-2,0,0,0,
 1,0,0,-2,-2,0,
 2,0,0,0,0,0,
 -2,0,0,0,0,0,
 0,2,0,3,0,0"/>
 <answer val="0,3,1,3,0,4,0,3,1,5,0,5,3,5,2,5,5,0,5,3,2,0,3,0,2,1,2,0,3,2,3,3,4,2,4,3,0,2,4,2"/>
 </level>
 </levels>
Unb3.png
  • id - номер уровня.
  • w - количество столбцов поля.
  • h - количество строк поля.
  • exit_x - координата x (отсчет от правого верхнего угла) ячейки-выхода.
  • exit_y - координата y (отсчет от правого верхнего угла) ячейки-выхода.
  • turns - количество ходов на прохождение уровня; если указано "0" - ходы не считаются.
  • time - время на прохождение уровня; если указано "0" - игра без учета времени.
  • final_shift - расстояние, которое нужно проехать при анимировании победы.
  • final_vx - скорость по x.
  • final_vy - скорость по y.
  • field val - описание начальной конфигурации поля.
  • answer val - решение уровня.
 <field> - описание начального состояния поля, где:
       0 - пустая ячейка
       1- главный блок, который нужно поместить на ячейку-выход
       2 - блок, занимающий 2 ячейки
       3 - блок, занимающий 3 ячейки.
 Номера блоков соответствуют порядку указания дополнительных свойств "графика блока"
 В точке, в которой указано число, находится крайняя левая/верхняя ячейка блока.
 Если число указано с знаком “-”, то блок на поле размещается вертикально. 
 <answer> - решение от первого до последнего хода в виде набора чисел через запятую. Числа сгруппированы по 4: x1, y1, x2, y2.
 Где x1,y1 - координаты левой/верхней клетки блока который нужно подвинуть на текущем ходу решения,
 x2, y2 - координаты где эта клетка должна оказаться после хода.
 Если указано непустое, но невалидное решение, вьювер при попытке сыграть уровень покажет сообщение об ошибке.

Пример

S:\!MOBILE\!!!EditorGames\Wiki_sample

test_unblockme.zip