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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
м
м
Строка 3: Строка 3:
 
== Параметры==
 
== Параметры==
  
'''Таблица''' — таблица, в которой будут находиться объекты перемещённые в инвентарь
+
'''Таблица''' — таблица, в которой будут находиться объекты перемещённые в инвентарь.
  
'''Объект''' — если для инвентаря один объект, то его можно указать в этом поле
+
'''Объект''' — если для инвентаря один объект, то его можно указать в этом поле.
  
 
'''Скорость'''
 
'''Скорость'''
  
*'''полёта''' — скорость полёта объекта перемещаемого в инвентарь к таблице инвентаря
+
*'''полёта''' — скорость полёта объекта перемещаемого в инвентарь к таблице инвентаря.
  
*'''вращения''' — скорость вращения объекта во время полёта в инвентарь
+
*'''вращения''' — скорость вращения объекта во время полёта в инвентарь.
  
  
 
== Состояния инвентаря ==
 
== Состояния инвентаря ==
  
'''add''' – добавить объект в инвентарь
+
'''add''' – добавить объект в инвентарь.
  
'''extract''' — достать объект из инвентаря
+
'''extract''' — достать объект из инвентаря.
  
'''return''' — вернуть объект в инвентарь
+
'''return''' — вернуть объект в инвентарь.
  
 
Для того чтобы добавить объект в инвентарь необходимо сначала задать инвентарю с помощью кнопки, или машины состояний id объекта, который помещаем в инвентарь, потом перевести инвентарь в состояние '''add'''. Для извлечения объекта из инвентаря необходимо задать инвентарю с помощью кнопки, или машины состояний id объекта, который извлекается из инвентаря, потом перевести инвентарь в состояние '''extract'''.
 
Для того чтобы добавить объект в инвентарь необходимо сначала задать инвентарю с помощью кнопки, или машины состояний id объекта, который помещаем в инвентарь, потом перевести инвентарь в состояние '''add'''. Для извлечения объекта из инвентаря необходимо задать инвентарю с помощью кнопки, или машины состояний id объекта, который извлекается из инвентаря, потом перевести инвентарь в состояние '''extract'''.
Строка 37: Строка 37:
 
[[Файл:Invent example.jpg]]
 
[[Файл:Invent example.jpg]]
  
Состояние «'''to'''»:
+
Состояние '''to''':
  
 
'''set'''
 
'''set'''
  
: '''obj''' — указан инвентарь в который добавляем объект
+
: '''obj''' — указан инвентарь в который добавляем объект.
  
: '''par''' — параметр в который будем записывать id добавляемого объекта. Для инвентаря этот параметр называется «obj»
+
: '''par''' — параметр в который будем записывать id добавляемого объекта. Для инвентаря этот параметр называется '''obj'''.
  
: '''val_obj''' – указан объект, id которого будет записано в параметр «obj» инвентаря.
+
: '''val_obj''' – указан объект, id которого будет записано в параметр '''obj''' инвентаря.
  
 
'''set'''
 
'''set'''
  
: '''obj''' — объект который переводим в новое состояние, в данном случае будем добавлять объект указанный выше в инвентарь
+
: '''obj''' — объект который переводим в новое состояние, в данном случае будем добавлять объект указанный выше в инвентарь.
  
: '''st''' — состояние в которое переводим инвентарь, в нашем случае добавляем объект в инвентарь, поэтому состояние add.
+
: '''st''' — состояние в которое переводим инвентарь, в нашем случае добавляем объект в инвентарь, поэтому состояние '''add'''.
  
  
  
Состояние «out» - всё аналогично состоянию «to», кроме второго set-а, которым достаём объект из инвентаря, с помощью перевода инвентаря в состояние «extract».
+
Состояние '''out''' - всё аналогично состоянию '''to''', кроме второго set-а, которым достаём объект из инвентаря, с помощью перевода инвентаря в состояние '''extract'''.
  
  
Строка 68: Строка 68:
 
=== Обзор проекта ===
 
=== Обзор проекта ===
  
Инвентарь вынесен в отдельный глобальный экран для того чтобы в дальнейшем была возможность использовать один и тот же инвентарь на разных экранах. Экран инвентаря расшарен(сделана ссылка) на основной экран, для того чтобы инвентарь отображался на экране основной сцены, но мог быть отредактирован из других сцен в будущем. Также организована маска для поросёнка, на которую будут "падать" ведро, молоток, шапка. Маска вынесена отдельно для избежания падения объекта на группу объектов. Маска двигается с такой же скоростью, как и поросёнок.
+
Инвентарь вынесен в отдельный глобальный экран для того чтобы в дальнейшем была возможность использовать один и тот же инвентарь на разных экранах. Экран инвентаря расшарен(сделана ссылка) на основной экран, для того чтобы инвентарь отображался на экране основной сцены, но мог быть отредактирован из других сцен в будущем. Также организована маска для поросёнка, на которую будут "падать" ведро, молоток, шапка. Маска вынесена отдельно для избежания проблем с падением объекта на группу объектов. Маска двигается с такой же скоростью, как и поросёнок.
  
 
[[Файл:Invent_dcr_pr.jpg]]
 
[[Файл:Invent_dcr_pr.jpg]]
Строка 77: Строка 77:
 
====Настройки инвентаря====
 
====Настройки инвентаря====
  
Настройки инвентаря:
+
'''Настройки инвентаря:'''
  
 
[[Файл:Invent_options.jpg]]
 
[[Файл:Invent_options.jpg]]
  
 
В качестве таблицы для инвентаря используем выбранную таблицу.
 
В качестве таблицы для инвентаря используем выбранную таблицу.
Объекты в таблицу летят со скоростью 500 и вращаются со скоростью 360
+
Объекты в таблицу летят со скоростью 500 и вращаются со скоростью 360.
  
Настройки таблицы инвентаря:
+
 
У таблицы всего 2 колоки и 2 строчки(определены в группе параметров "таблица"), видимых 2 колонки и 2 строчки(определены в группе параметров "размеры ячеек"), при этом объекты, которые попадают в таблицу инвентаря не будут сжиматься(сжимать = 0)
+
'''Настройки таблицы инвентаря:'''
 +
 
 +
У таблицы всего 2 колонки и 2 строчки(определены в группе параметров "таблица"), видимых 2 колонки и 2 строчки(определены в группе параметров "размеры ячеек"), при этом объекты, которые попадают в таблицу инвентаря не будут сжиматься(сжимать = 0).
  
 
[[Файл:Invent_table.jpg]]
 
[[Файл:Invent_table.jpg]]
Строка 98: Строка 100:
 
По второму клику достаём объект из инвентаря и разрешаем его таскать по экрану, при этом ожидаем что он "упадёт" на маску поросёнка.
 
По второму клику достаём объект из инвентаря и разрешаем его таскать по экрану, при этом ожидаем что он "упадёт" на маску поросёнка.
 
При падении на маску поросёнка ведро исчезает и включает до того скрытое ведро у поросёнка.
 
При падении на маску поросёнка ведро исчезает и включает до того скрытое ведро у поросёнка.
Состояние with необходимо для того чтобы по клику можно было снова вытянуть объект из инвентаря, если его туда положила другая машина или кнопка
+
Состояние '''with''' необходимо для того чтобы по клику можно было снова вытянуть объект из инвентаря, если его туда положила другая машина или кнопка.
  
 
Ведро у поросёнка:
 
Ведро у поросёнка:
Строка 104: Строка 106:
  
 
Изначально машина прозрачна и не видна на экране.
 
Изначально машина прозрачна и не видна на экране.
Основное ведро переводит в определённый момент ведро у поросёнка в состояние on в котором ведро у поросёнка становится видимым и ожидает клика.
+
Основное ведро переводит в определённый момент ведро у поросёнка в состояние '''on''' в котором ведро у поросёнка становится видимым и ожидает клика.
При помощи изменения состояния у объекта инвентарь на состояние return основное ведро помещается в инвентарь, и делается видимым(alpha=1), а ведро у поросёнка становится прозрачным.
+
При помощи изменения состояния у объекта инвентарь на состояние '''return''' основное ведро помещается в инвентарь, и делается видимым(alpha=1), а ведро у поросёнка становится прозрачным.
  
 
Основной молоток:
 
Основной молоток:
Строка 118: Строка 120:
  
 
Изначально машина прозрачна и не видна на экране.
 
Изначально машина прозрачна и не видна на экране.
Основной молоток переводит в определённый момент молоток у поросёнка в состояние on в котором молоток у поросёнка становится видимым и ожидает клика.
+
Основной молоток переводит в определённый момент молоток у поросёнка в состояние '''on''' в котором молоток у поросёнка становится видимым и ожидает клика.
При клике переводим основной молоток в состояние, в котором с помощью состояния инвентаря add молоток добавляется в инвентарь, и делаем основной молоток видимым, а молоток у поросёнка становится прозрачным.
+
При клике переводим основной молоток в состояние, в котором с помощью состояния инвентаря '''add''' молоток добавляется в инвентарь, и делаем основной молоток видимым, а молоток у поросёнка становится прозрачным.
  
 
Основная шапка:
 
Основная шапка:
Строка 132: Строка 134:
  
 
Изначально машина прозрачна и не видна на экране.
 
Изначально машина прозрачна и не видна на экране.
Основная шапка переводит в определённый момент шапку у поросёнка в состояние on в котором шапка у поросёнка становится видимым и ожидает клика.
+
Основная шапка переводит в определённый момент шапку у поросёнка в состояние '''on''' в котором шапка у поросёнка становится видимым и ожидает клика.
При клике переводим основную шапку в состояние, в котором с помощью состояния инвентаря add шапка добавляется в инвентарь, и делаем основную шапку видимой, а шапка у поросёнка становится прозрачной.
+
При клике переводим основную шапку в состояние, в котором с помощью состояния инвентаря '''add''' шапка добавляется в инвентарь, и делаем основную шапку видимой, а шапка у поросёнка становится прозрачной.

Версия 07:01, 25 мая 2012

Инвентарь необходим для «собирания» некоторых важных игровых объектов с последующим их использованием.

Параметры

Таблица — таблица, в которой будут находиться объекты перемещённые в инвентарь.

Объект — если для инвентаря один объект, то его можно указать в этом поле.

Скорость

  • полёта — скорость полёта объекта перемещаемого в инвентарь к таблице инвентаря.
  • вращения — скорость вращения объекта во время полёта в инвентарь.


Состояния инвентаря

add – добавить объект в инвентарь.

extract — достать объект из инвентаря.

return — вернуть объект в инвентарь.

Для того чтобы добавить объект в инвентарь необходимо сначала задать инвентарю с помощью кнопки, или машины состояний id объекта, который помещаем в инвентарь, потом перевести инвентарь в состояние add. Для извлечения объекта из инвентаря необходимо задать инвентарю с помощью кнопки, или машины состояний id объекта, который извлекается из инвентаря, потом перевести инвентарь в состояние extract.


Таблица для инвентаря

Может быть вертикальной, горизонтальной, или иметь несколько ячеек в ширину и несколько в высоту. Если у таблицы несколько строк и столбцов, то объекты заполняют столбцы, то есть объекты сначала заполнят первый столбец, потом начнут заполнять второй столбец, потом третий и т. д.. Объект при переводе инвентаря в состояние add или return летят к правому нижнему углу таблицы. Если в таблице не хватает места, то объекты в таблицу не попадают, а остаются возле правого нижнего её угла.


Пример использования состояний инвентаря

Invent example.jpg

Состояние to:

set

obj — указан инвентарь в который добавляем объект.
par — параметр в который будем записывать id добавляемого объекта. Для инвентаря этот параметр называется obj.
val_obj – указан объект, id которого будет записано в параметр obj инвентаря.

set

obj — объект который переводим в новое состояние, в данном случае будем добавлять объект указанный выше в инвентарь.
st — состояние в которое переводим инвентарь, в нашем случае добавляем объект в инвентарь, поэтому состояние add.


Состояние out - всё аналогично состоянию to, кроме второго set-а, которым достаём объект из инвентаря, с помощью перевода инвентаря в состояние extract.


Пример проекта в котором используется инвентарь

Рассмотрим для примера проект в котором можно применить объект инвентарь.

Есть поросёнок, который ходит из одного края экрана в другой, и 3 объекта: молоток, шапка, ведро, которые разбросаны по экрану. По первому клику по каждому объекту они должны попасть в инвентарь -> по второму — достаться из инвентаря и начать тягаться. -> Когда объект попадает на поросёнка надо чтобы он появился у поросёнка -> клик на объект у поросёнка — объект снова попадает в инвентарь.


Обзор проекта

Инвентарь вынесен в отдельный глобальный экран для того чтобы в дальнейшем была возможность использовать один и тот же инвентарь на разных экранах. Экран инвентаря расшарен(сделана ссылка) на основной экран, для того чтобы инвентарь отображался на экране основной сцены, но мог быть отредактирован из других сцен в будущем. Также организована маска для поросёнка, на которую будут "падать" ведро, молоток, шапка. Маска вынесена отдельно для избежания проблем с падением объекта на группу объектов. Маска двигается с такой же скоростью, как и поросёнок.

Invent dcr pr.jpg


Настройки инвентаря и таблиц

Настройки инвентаря

Настройки инвентаря:

Invent options.jpg

В качестве таблицы для инвентаря используем выбранную таблицу. Объекты в таблицу летят со скоростью 500 и вращаются со скоростью 360.


Настройки таблицы инвентаря:

У таблицы всего 2 колонки и 2 строчки(определены в группе параметров "таблица"), видимых 2 колонки и 2 строчки(определены в группе параметров "размеры ячеек"), при этом объекты, которые попадают в таблицу инвентаря не будут сжиматься(сжимать = 0).

Invent table.jpg


Основные машины

Основное ведро: Invent bucket.jpg

По клику Передаём id ведра инвентарю и добавляем его в инвентарь, ждём второго клика. По второму клику достаём объект из инвентаря и разрешаем его таскать по экрану, при этом ожидаем что он "упадёт" на маску поросёнка. При падении на маску поросёнка ведро исчезает и включает до того скрытое ведро у поросёнка. Состояние with необходимо для того чтобы по клику можно было снова вытянуть объект из инвентаря, если его туда положила другая машина или кнопка.

Ведро у поросёнка: Invent p bucket.jpg

Изначально машина прозрачна и не видна на экране. Основное ведро переводит в определённый момент ведро у поросёнка в состояние on в котором ведро у поросёнка становится видимым и ожидает клика. При помощи изменения состояния у объекта инвентарь на состояние return основное ведро помещается в инвентарь, и делается видимым(alpha=1), а ведро у поросёнка становится прозрачным.

Основной молоток: Invent hammer.jpg

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

Молоток у поросёнка: Invent p hammer.jpg

Изначально машина прозрачна и не видна на экране. Основной молоток переводит в определённый момент молоток у поросёнка в состояние on в котором молоток у поросёнка становится видимым и ожидает клика. При клике переводим основной молоток в состояние, в котором с помощью состояния инвентаря add молоток добавляется в инвентарь, и делаем основной молоток видимым, а молоток у поросёнка становится прозрачным.

Основная шапка: Invent hat.jpg

По клику Передаём id шапки инвентарю и добавляем её в инвентарь, ждём второго клика. По второму клику достаём объект из инвентаря и разрешаем его таскать по экрану, при этом ожидаем что он "упадёт" на маску поросёнка. При падении на маску поросёнка шапка исчезает и включает до того скрытую шапку у поросёнка.

Шапка у поросёнка: Invent p hat.jpg

Изначально машина прозрачна и не видна на экране. Основная шапка переводит в определённый момент шапку у поросёнка в состояние on в котором шапка у поросёнка становится видимым и ожидает клика. При клике переводим основную шапку в состояние, в котором с помощью состояния инвентаря add шапка добавляется в инвентарь, и делаем основную шапку видимой, а шапка у поросёнка становится прозрачной.