Inventory — различия между версиями
Shejko (обсуждение | вклад) м |
Shejko (обсуждение | вклад) м |
||
Строка 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''': |
'''set''' | '''set''' | ||
− | : '''obj''' — указан инвентарь в который добавляем объект | + | : '''obj''' — указан инвентарь в который добавляем объект. |
− | : '''par''' — параметр в который будем записывать id добавляемого объекта. Для инвентаря этот параметр называется | + | : '''par''' — параметр в который будем записывать id добавляемого объекта. Для инвентаря этот параметр называется '''obj'''. |
− | : '''val_obj''' – указан объект, id которого будет записано в параметр | + | : '''val_obj''' – указан объект, id которого будет записано в параметр '''obj''' инвентаря. |
'''set''' | '''set''' | ||
− | : '''obj''' — объект который переводим в новое состояние, в данном случае будем добавлять объект указанный выше в инвентарь | + | : '''obj''' — объект который переводим в новое состояние, в данном случае будем добавлять объект указанный выше в инвентарь. |
− | : '''st''' — состояние в которое переводим инвентарь, в нашем случае добавляем объект в инвентарь, поэтому состояние add. | + | : '''st''' — состояние в которое переводим инвентарь, в нашем случае добавляем объект в инвентарь, поэтому состояние '''add'''. |
− | Состояние | + | Состояние '''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 колонки и 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 летят к правому нижнему углу таблицы. Если в таблице не хватает места, то объекты в таблицу не попадают, а остаются возле правого нижнего её угла.
Пример использования состояний инвентаря
Состояние to:
set
- obj — указан инвентарь в который добавляем объект.
- par — параметр в который будем записывать id добавляемого объекта. Для инвентаря этот параметр называется obj.
- val_obj – указан объект, id которого будет записано в параметр obj инвентаря.
set
- obj — объект который переводим в новое состояние, в данном случае будем добавлять объект указанный выше в инвентарь.
- st — состояние в которое переводим инвентарь, в нашем случае добавляем объект в инвентарь, поэтому состояние add.
Состояние out - всё аналогично состоянию to, кроме второго set-а, которым достаём объект из инвентаря, с помощью перевода инвентаря в состояние extract.
Пример проекта в котором используется инвентарь
Рассмотрим для примера проект в котором можно применить объект инвентарь.
Есть поросёнок, который ходит из одного края экрана в другой, и 3 объекта: молоток, шапка, ведро, которые разбросаны по экрану. По первому клику по каждому объекту они должны попасть в инвентарь -> по второму — достаться из инвентаря и начать тягаться. -> Когда объект попадает на поросёнка надо чтобы он появился у поросёнка -> клик на объект у поросёнка — объект снова попадает в инвентарь.
Обзор проекта
Инвентарь вынесен в отдельный глобальный экран для того чтобы в дальнейшем была возможность использовать один и тот же инвентарь на разных экранах. Экран инвентаря расшарен(сделана ссылка) на основной экран, для того чтобы инвентарь отображался на экране основной сцены, но мог быть отредактирован из других сцен в будущем. Также организована маска для поросёнка, на которую будут "падать" ведро, молоток, шапка. Маска вынесена отдельно для избежания проблем с падением объекта на группу объектов. Маска двигается с такой же скоростью, как и поросёнок.
Настройки инвентаря и таблиц
Настройки инвентаря
Настройки инвентаря:
В качестве таблицы для инвентаря используем выбранную таблицу. Объекты в таблицу летят со скоростью 500 и вращаются со скоростью 360.
Настройки таблицы инвентаря:
У таблицы всего 2 колонки и 2 строчки(определены в группе параметров "таблица"), видимых 2 колонки и 2 строчки(определены в группе параметров "размеры ячеек"), при этом объекты, которые попадают в таблицу инвентаря не будут сжиматься(сжимать = 0).
Основные машины
По клику Передаём id ведра инвентарю и добавляем его в инвентарь, ждём второго клика. По второму клику достаём объект из инвентаря и разрешаем его таскать по экрану, при этом ожидаем что он "упадёт" на маску поросёнка. При падении на маску поросёнка ведро исчезает и включает до того скрытое ведро у поросёнка. Состояние with необходимо для того чтобы по клику можно было снова вытянуть объект из инвентаря, если его туда положила другая машина или кнопка.
Изначально машина прозрачна и не видна на экране. Основное ведро переводит в определённый момент ведро у поросёнка в состояние on в котором ведро у поросёнка становится видимым и ожидает клика. При помощи изменения состояния у объекта инвентарь на состояние return основное ведро помещается в инвентарь, и делается видимым(alpha=1), а ведро у поросёнка становится прозрачным.
По клику Передаём id молотка инвентарю и добавляем его в инвентарь, ждём второго клика. По второму клику достаём объект из инвентаря и разрешаем его таскать по экрану, при этом ожидаем что он "упадёт" на маску поросёнка. При падении на маску поросёнка молоток исчезает и включает до того скрытый молоток у поросёнка.
Изначально машина прозрачна и не видна на экране. Основной молоток переводит в определённый момент молоток у поросёнка в состояние on в котором молоток у поросёнка становится видимым и ожидает клика. При клике переводим основной молоток в состояние, в котором с помощью состояния инвентаря add молоток добавляется в инвентарь, и делаем основной молоток видимым, а молоток у поросёнка становится прозрачным.
По клику Передаём id шапки инвентарю и добавляем её в инвентарь, ждём второго клика. По второму клику достаём объект из инвентаря и разрешаем его таскать по экрану, при этом ожидаем что он "упадёт" на маску поросёнка. При падении на маску поросёнка шапка исчезает и включает до того скрытую шапку у поросёнка.
Изначально машина прозрачна и не видна на экране. Основная шапка переводит в определённый момент шапку у поросёнка в состояние on в котором шапка у поросёнка становится видимым и ожидает клика. При клике переводим основную шапку в состояние, в котором с помощью состояния инвентаря add шапка добавляется в инвентарь, и делаем основную шапку видимой, а шапка у поросёнка становится прозрачной.