Конструктор игр Clickteam Fusion
Шрифт:
Загрузим заранее приготовленную картинку с пустыми окнами для предметов и два предмета. Давайте узнаем размер картинки, создадим экран такого же размера (для картинки ниже это Frame 1 – Settings – 560 x 420), а саму картинку установим в координаты 0:0, то есть она должна полностью совпасть с экраном.
Назовем картинку “Font”.
Создадим два активных объекта, загрузим заранее заготовленные изображения предметов и назовём их Item 1 и Item 2. Не забываем поместить их в общую группу (Events – Qualifier(s) – Edit – Add – Friends).
Перетаскиваем
Теперь создадим новый объект, который будет активным местом для нашего меню. Сделаем его зеленым квадратом по размеру ячейки в нижней части нашей картинки.
Кстати, не забудем указать для наших предметов инвентаря тип перемещения Bouncing ball («прыгающий мяч»).
Переходим в редактор событий.
Создаём первое условие: New condition – Storyboard controls – Start of frame, в столбцах Item 1 и Item 2 выбираем Movement – Stop. Так при старте фрейма мы останавливаем наши объекты, так как изначально скорость движения у них указана 60 (в настройках типа перемещения).
Второе условие: если мы кликаем мышью по объекту, мы направляем его в сторону активного квадрата. New condition – The mouse pointer and keyboard – The mouse – User clicks on an object. Нажимаем ОК.
В появившемся окне выбираем Friends.
Дальше кликаем на столбец друзей – Direction – Look in the direction of – Relative to – Зеленый квадрат. Нажимаем «OK» в следующем окне, подтверждая координаты 0:0. Далее снова кликаем на столбец друзей – Movement – Set speed и указываем скорость движения 60.
Заметьте, мы указываем не конкретный предмет инвентаря, а сразу всю группу.
Теперь давайте остановим объект и разместим его в ячейке. Сделаем это в виде условия накладывания объекта – здесь мы опять используем группу – на наш активный квадрат. При этом мы размещаем предмет по центру квадрата, останавливаем его, а сам квадрат отодвигаем в сторону так, чтобы он был размещён по центру следующей ячейки. New object – Friends – Collisions – Overlapping another object – Зеленый квадрат. Кликаем на столбец друзей – Position – Select position – Relative to – Квадрат. Еще раз кликаем на столбец друзей – Movement – Stop. Далее столбец квадрата – Position – Select position – Relative to – Квадрат.
Проверяем
Но что будет, если будет заполнено всё место в инвентаре?
Сделаем наш квадрат невидимым. Расклонируем любой наш объект, чтобы проверить заполненность инвентаря.
Сначала научим программу удалять объекты из инвентаря. Условие: если мы кликаем левой кнопкой мыши по объекту, при этом объект находится в зоне меню, его можно удалить.
New condition – The mouse pointer and keyboard – The mouse – User clicks on an object – OK – Friends. Далее кликаем на условие – Insert – The mouse pointer and keyboard – The mouse – Check for mouse pointer in a zone и выделяем нижнюю часть нашей картинки (ячейки).
Кликаем на столбец друзей – Destroy.
Следующее условие. При выходе активного квадрата за пределы нашего инвентаря его нужно вернуть на первую позицию. Но сделать это нужно в том случае, если объектов в инвентаре меньше или равно семи. New condition – Квадрат – Position – Compare X position to a value, затем задаем значение и выбираем Greater or equal.
И ещё. Почему на первую позицию, ведь она может быть занята предметом? Посмотрим ещё раз наш алгоритм. Если первая позиция будет занята предметом, то квадрат сразу сместится на вторую, а если занята вторая – на третью, и так далее.
Кликаем на условие – Insert – Friends – Pick or count – Compare to the number or “Group.Friends” objects in a zone и снова перемещаем окно на наши ячейки внизу. В появившемся окне выбираем Lower or equal, 7.
< image l:href="#"/>Первую координату Х активного квадрата мы узнаем из его свойств.
Кликаем на столбец квадрата – Position – Set X coordinate и вводим координаты.
Так как у нас уже есть условие по клику мыши, исключим для него возможность срабатывания, когда предмет уже находится в инвентаре (кликнем на координаты и выберем в выпадающем списке Lower). В Start of frame добавим опцию Stop для Item 3-10.
Проверяем. Заполняем инвентарь предметами, удаляем их и снова заполняем. Всё должно работать.
Программу, которую мы создали, можно ещё и оптимизировать. Какие наши действия были лишними?
А в следующий раз мы познакомимся с приближением в играх.
ЧАСТЬ II. ФУНКЦИОНАЛ ИГР
Урок 5. Приближение в играх