Урок 8. Работаем со сценой. Инвентарь.
В этом уроке мы будем разбираться с инвентарём.
Чтобы, позвонить в колокольчик нам необходимо чем-то зацепиться за крючок и потянуть, чтобы раздался звон. Ищем картинку верёвки или что-то похожее,
Теперь нам нужно сделать три такие картинки разного размера, дело в том, что предмет на сцене может быть маленьким, а в инвентаре большим: -верёвка на сцене " verevoch _scen”, так как она будет выглядеть в игре на сцене и когда мы будем брать её из инвентаря,
-верёвка в инвентаре " verevoch _invent”, будет появляться вверху экрана, в инвентаре,
-и верёвка когда наводим курсор " verevoch _cursor”, будет появляться при наведении на предметы (можно обвести по контуру каким не будь цветом или сделать темней, светлей).
В процессе работы, размер будем подбирать и корректировать. Должно получиться примерно так:
Получившееся «verevoch» копируем в папку \items. Открываем items.items
теперь пишем:
ITEM { CURSOR_COMBINED = TRUE CAPTION = "Верёвка" NAME = "verevoch" IMAGE = "items\verevoch_invent.png" CURSOR = "items\verevoch_scen.png" CURSOR_HOVER = "items\verevoch_cursor.png" SCRIPT = "items\verevoch.script" }
|
Открываем WME. Выбираем items жмём правую кнопку, далее Add script..., создаем verevoch.script, пушем:
#include "scripts\base.inc"
//////////////////////////////////////////////////////////////////////////////// on "LookAt" { actor.Talk("Верёвка с крючками, можно зацепить"); } //////////////////////////////////////////////////////////////////////////////// on "Talk" { actor.Talk("C верёвками не разговариваю"); } //////////////////////////////////////////////////////////////////////////////// on "Take" { Game.SelectedItem = "verevoch"; }
|
Теперь открываем нашу Room.scene, создаём новый объект Add sprite entity и называем его «verevoch». В Entity properties в окошке Sprite находим нашу «verevoch_scen.png» которая находится в папке \items и размещаем на нашей сцене.
Теперь в Entity properties делаем следующие действия
Жмем Scripts... создаем новый verevoch.script (scenes\Room\scr\ verevoch.script)
В verevoch.script пишем следующее:
#include "scripts\base.inc"
//////////////////////////////////////////////////////////////////////////////// on "Take" { actor.GoTo(735, 375); actor.TurnTo(DI_UPRIGHT);
Game.Interactive = false; actor.Talk("Верёвочка");
actor.PlayAnim("actors\molly\ul\take1.sprite");
Game.TakeItem("verevoch"); var EntBook = Scene.GetNode("verevoch"); EntBook.Active = false;
actor.PlayAnim("actors\molly\ul\take2.sprite");
Game.Interactive = true; }
//////////////////////////////////////////////////////////////////////////////// on "LookAt" { actor.GoToObject(this); actor.Talk("Верёвка с крючками"); actor.TurnTo(DI_DOWN); actor.Talk("Можно, что не будь зацепить."); actor.TurnTo(DI_DOWN); }
//////////////////////////////////////////////////////////////////////////////// on "Talk" { actor.GoToObject(this); actor.Talk("Бездушный предмет."); actor.TurnTo(DI_DOWN); actor.Talk("Глупо с ним разгованивать."); actor.TurnTo(DI_DOWN); }
//////////////////////////////////////////////////////////////////////////////// on "LeftClick" { actor.GoToObject(this); }
|
Сохраняем, запускаем игру и проверяем результат: курсор при наведении на «верёвку» меняется на «руку», когда пробуем смотреть или говорить актёр на это реагирует своими ответами и наконец мы берём «верёвку», она пропадает и появляется в инвентаре. В инвентаре, мы так же проверяем, пробуем посмотреть, поговорить и брать нашу «веревку». Всё должно получиться.
Урок закончен, в следующем, попробуем применить наш предмет из инвентаря, на чём не будь.
|