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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
Строка 78: Строка 78:
 
*'''значение''' - новое значение параметра.  
 
*'''значение''' - новое значение параметра.  
  
 +
== Состояния ==
  
 +
Объекту pipes можно передавать следующие состояния:
 +
*'''init''' - элементы трубопровода поворачиваются произвольным образом, разрывая соединение входа с выходом;
 +
*'''skip''' - каждый элемент поворачивается в положение указанное в поле '''расклад''' за время поворота, после чего pipes считается собранным, и устанавливаются добавляемые параметры, если они есть.
  
 +
== Примечания и дополнения ==
  
 +
Вариантов собранного трубопровода может быть несколько, в зависимости от рисунка, но в случае скипа всегда будет рисоваться вариант, указанный в раскладе.
  
===Общее Описание ===
+
Трубопровод может иметь несколько входов и выходов. Линия, которая строится при этом, должна соединять в одну сеть все входы и выходы (возможность ставить в соответствие каждому входу свой выход пока не реализована).
  
*На поле находится регулярная квадратная  решетка.
+
== Пример ==
В ячейках поля находятся  фишки, каждая из сторон которых имеет или не имеет вход. Входы связываются  при помощи однозначно заданных линий. При пересечении линии могут быть как связанными, так и не связанными между собой. Фишки располагаются на поле случайным образом.
 
* Используются фишки с таким возможным расположением линий.
 
 
 
 
 
[[Файл:Трубы_Fishky.jpg‎]]
 
 
 
<div class="tleft" style="clear:none">[[Файл:0.png|150px|frame|0]]</div>
 
<div class="tleft" style="clear:none">[[Файл:1111.png|150px|frame|1]]</div>
 
<div class="tleft" style="clear:none">[[Файл:2.png|150px|frame|2]]</div>
 
<div class="tleft" style="clear:none">[[Файл:3.png|150px|frame|3]]</div>
 
<div class="tleft" style="clear:none">[[Файл:4.png|150px|frame|4]]</div>
 
<div class="tleft" style="clear:none">[[Файл:5.png|150px|frame|5]]</div>
 
<div class="tleft" style="clear:none">[[Файл:6.png|150px|frame|6]]</div>
 
 
 
 
 
[[Файл:Анимация2.png|500px]]
 
 
 
 
 
*Графика фишек, подгружаемых в игру, должна представлять из себя папку с пронумерованными файлами. Ресурс фишек - '''анимация, каждый кадр которой должен представлять из себя фишку с определенным количеством  входов, выходов и соединяющих их линий, а также все ресурсы фишек должны иметь абсолютно одинаковый размер.'''.
 
'''Важно то, что порядок кадров анимации должен быть всегда выдержан в соответствии с приведенными рисунками.'''
 
 
 
*Кроме того,  на поле задаются  ячейки с началом и концом трубопровода.Поле при этом  имеет вид
 
 
 
 
 
[[Файл:Sc_Bed_Times.jpg|500px]]
 
 
[[Файл:Безымянный.png|500px]]
 
 
 
=== Игровая механика ===
 
 
 
*'''Игровое действие.''' Игрок при помощи тапа может поворачивать  фишки каждую относительно ее центра, таким образом, чтоб линии,  проходящие из ячейки в ячейку, соединялись.
 
 
 
*'''Фишки могут располагаться''' сейчас только одним единственно заданным способом.
 
''В перспективе - фишки должны располагаться случайным образом, при этом должна проводится проверка, на существование хотя бы одной линии.''
 
 
 
*'''Цель игры''' - соединить начало трубопровода с его концом при помощи одной или нескольких непрерывных линий.
 
 
 
*В игре может быть как '''несколько входов''', так и '''выходов'''. Линия, которая строится при этом должна соединять в одну сеть все входы и выходы. ''В перспективе, должна быть возможность ставить в соответствие каждому входу - свой выход.''
 
 
 
=== Параметры объекта Pipes ===
 
 
 
Для создания объекта '''pipes'''  необходимо создать любой безресурсный объект и выбрать для него из раздела '''Game mechanic''' тип '''pipes'''.
 
 
 
[[Файл:Создание.png|250px]] [[Файл:Характеристики.png|250px]]
 
 
 
Кроме общих для всех параметров "положение" и "размер" необходимо задать параметры непосредственно для объекта pipes.
 
(У объекта Pipes нет отображения его положения на экране, поэтому для определения его места и правильного расположения в игре необходимо делать его подобъектом какой то машины, размер объекта задаётся количеством его колонок и строк)
 
Память должна стоять "1" если надо что-бы игра не переигрывалась после каждого разбора.
 
 
 
'''ВНЕШНИЙ ВИД'''
 
*'''картинка''' -  в это поле из редактора ресурсов перетаскивается анимация,  кадрами которой являются изображения фишек в заданной последовательности,
 
*'''колонок''' - здесь задается число колонок поля,
 
*'''строчек''' - здесь задается число строчек поля,
 
*'''время поворота''' -  время поворота фишки вокруг центра ячейки,
 
 
 
Ячейки имеют нумерацию (0;0), (0;1), (0;2), (0;3),(0;4), (0;5), (0;6), (0;7).... - в строке,
 
и (0;0), (1;0), (2;0), (3;0),(4;0), (5;0), (6;0), (7;0).... - в столбце,
 
 
 
[[Файл:Ячейки2.png|400px]]
 
 
 
'''ВХОД'''
 
*'''x''' - задается номер ячейки по х
 
*'''y''' - задается номер ячейки по y,
 
*'''грань''' - здесь задается номер грани, с которой начинается линия.К постановке этого параметра нужно отнестись осмысленно. Нумерация граней идет по часовой стрелке, начиная сверху - 0,1,2,3
 
 
 
Аналогично задаются параметры выхода
 
 
 
'''ВЫХОД'''
 
*'''x''' - задается номер ячейки по х
 
*'''y''' - задается номер ячейки по y,
 
*'''грань''' - здесь задается номер грани, на которой заканчивается лини
 
 
 
В строке '''РАСКЛАД''' в строчку задается расположение конкретных фишек в ячейках поля.
 
*Рисунок уровня в виде последовательности чисел через запятую. Чисел должно быть четное количество. Первое число каждой пары - тип ячейки от 0 до 6 включительно, Второе - начальный поворот от 0 до 3. Если в этом параметре пустая строка - уровень генерируется. Расклад '''необходим''' для перевода
 
Pipes в состояние Skip.
 
 
 
[[Файл:1.0.png|150px]] [[Файл:1.1.png|150px]] [[Файл:2.0.png|150px]] [[Файл:2.2.png|150px]]
 
 
 
 
 
по правой кнопке мыши добавляются команды, по которым можно изменять состояние или параметр объекта при выигрыше, а также состояние объекта при постановке фишки в правильное положение( заданное в строке расклад), к этому параметру нужно относится специфически так как у симметричных ячеек может быть несколько правильных положений.
 
 
 
'''ИЗМЕНИТЬ СОСТОЯНИЕ'''
 
*'''объект''' - выбирается доступный в этом экране объект
 
*'''состояние''' - задается состояние этого объекта
 
 
 
'''ИЗМЕНИТЬ ПАРАМЕТР'''
 
*'''объект''' - выбирается доступный в этом экране объект
 
*'''параметр''' - параметр который мы изменяем
 
*'''значение''' - задается новое значение параметра для этого объекта
 
 
 
'''ФИШКА ПОВЁРНУТА ПРАВИЛЬНО'''
 
*'''объект''' - выбирается доступный в этом экране объект
 
*'''состояние''' - задается состояние этого объекта
 
 
 
=== Пример объекта Pipes ===
 
 
 
В качестве примере приводится мини игра из "Game_Adventure_RiteOfResurrection"
 
 
 
У нас есть объект Pipes с заданными характеристиками
 
 
 
[[Файл:Пример1.png|750px]]
 
 
 
У нас есть заданный расклад для 5-ти столбцов и 7-ми строк
 
А также flyer при постановки ячейки в правильное положение при окончании игры мы выключаем видимость сцены.
 
 
 
[[Файл:Пример2.png|500px|разобранный трубопровод]]  [[Файл:Пример3.png|500px|собранный трубопровод]]
 

Версия 14:51, 28 мая 2013

Sc Bed Times.jpg

Pipes - объект, который обладает механикой сбора трубопровода (микросхемы и т.п.) путем поворота отдельных элементов . Объект реализован в виде матрицы, каждая ячейка которой содержит вращающийся элемент. При инициализации объекта pipes все его элементы (ячейки) случайным образом поворачиваются, разрывая соединение входа и выхода. Каждый клик на элемент поворачивает его по часовой стрелке на 90 градусов. Игра считается завершенной, если между входом и выходом трубопровода образуется цепь правильно повернутых элементов.

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

  • положение - координаты левого верхнего угла игрового поля по оси x и y;
  • размер - ширина и высота одной ячейка трубопровода.

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

Pipes 0.jpg

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

  • картинка - анимация, состоящая из элементов трубопровода начиная с пустого, перетаскивается мышкой из базы ресурсов;
  • колонок - количество ячеек с элементами по горизонтали;
  • строчек - количество ячеек с элементами по вертикали;
  • время поворота - время поворота элемента в миллисекундах.

Все кадры анимации, указанной в поле картинка, должны быть одного размера. Последовательность кадров в анимации должна строго соответствовать приведенной на рисунке ниже: right‎

  • Нулевой кадр - пустой;
  • Первый кадр - прямой элемент с двумя соединениями на верхней и нижней гранях;
  • Второй кадр - изогнутый элемент с двумя соединениями на правой и нижней гранях;
  • Третий кадр - тройник с соединениями на правой, нижней и левой гранях;
  • Четвертый кадр - крестик с соединениями на всех четырех гранях;
  • Пятый кадр - пересечение двух прямых не совмещенных элементов (верхнее и нижнее соединения относятся к одному элементу, правое и левое ко второму);
  • Шестой кадр - два изогнутых не совмещенных элемента (правое и нижнее соединения относятся к одному элементу, верхнее и левое ко второму).

Группа - вход:

  • x - номер столбца ячейки, с которой будет начинаться трубопровод, нумерация начинается с 0 и следует слева направо;
  • y - номер строка ячейки, с которой будет начинаться трубопровод, нумерация начинается с 0 и следует сверху вниз;
  • грань - номер грани ячейки элемента, которая считается входом (если отправной точкой является верхняя грань, то значение поля 0, правая грань - 1, нижняя - 2, левая - 3).

Группа - выход:

  • x - номер столбца ячейки, которой будет заканчиваться трубопровод, нумерация начинается с 0 и следует слева направо;
  • y - номер строка ячейки, которой будет заканчиваться трубопровод, нумерация начинается с 0 и следует сверху вниз;
  • грань - номер грани ячейки элемента, которая считается выходом (верхняя грань - значение 0, правая - 1, нижняя - 2, левая - 3).

Расклад - "рисунок" собранного уровня в виде массива пар чисел в скобках через запятую, например, (1,0),(0,0),(2,3),.. и т.д. Каждая пара чисел в скобках описывает один элемент (ячейку), первое число в паре - номер кадра анимации, который будет рисоваться в ячейке, второе число - угол поворота этого кадра (0 - без поворота, 1 - поворот на 90 по часовой стрелке, 2 - поворот на 180 по часовой, 3 - поворот на 270 по часовой). Элементы описываются построчно, начиная с правого верхнего. Для пустых ячеек первое число в паре - 0 (начальный пустой кадр анимации).

Проверка висячих - условие сбора уровня, принимает значение 0 или 1. Если значение 0, то у собранного трубопровода могут быть свободные (оборванные) соединения, а если значение 1, то свободных соединений быть не должно, т.е. все соединения узлов цепи, проходящей от входа к выходу, должны в итоге замыкаться на цепь

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

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

+.png Вход в трубопровод (используется, если входов больше одного):

  • x - номер столбца ячейки, с которой будет начинаться трубопровод;
  • y - номер строка ячейки, с которой будет начинаться трубопровод;
  • грань - номер грани ячейки элемента, которая считается входом.

+.png Выход из трубопровода (используется, если выходов больше одного):

  • x - номер столбца ячейки, которой будет заканчиваться трубопровод;
  • y - номер строка ячейки, которой будет заканчиваться трубопровод;
  • грань - номер грани ячейки элемента, которая считается входом.

+.png Фишка повернута правильно:

  • объект - объект, который перейдет в новое состояние, если элемент трубопровода повернуть правильно;
  • состояние - новое состояние объекта из предыдущего поля.

+.png Изменить состояние объекта:

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

+.png Изменить параметр (свойство) объекта:

  • объект - объект, которому будет меняться параметр по собиранию pipes;
  • параметр - изменяемый параметр;
  • значение - новое значение параметра.

Состояния

Объекту pipes можно передавать следующие состояния:

  • init - элементы трубопровода поворачиваются произвольным образом, разрывая соединение входа с выходом;
  • skip - каждый элемент поворачивается в положение указанное в поле расклад за время поворота, после чего pipes считается собранным, и устанавливаются добавляемые параметры, если они есть.

Примечания и дополнения

Вариантов собранного трубопровода может быть несколько, в зависимости от рисунка, но в случае скипа всегда будет рисоваться вариант, указанный в раскладе.

Трубопровод может иметь несколько входов и выходов. Линия, которая строится при этом, должна соединять в одну сеть все входы и выходы (возможность ставить в соответствие каждому входу свой выход пока не реализована).

Пример