Добавить в цитаты Настройки чтения

Страница 7 из 8

Заметьте, мы указываем не конкретный предмет инвентаря, а сразу всю группу.

Теперь давайте остановим объект и разместим его в ячейке. Сделаем это в виде условия накладывания объекта – здесь мы опять используем группу – на наш активный квадрат. При этом мы размещаем предмет по центру квадрата, останавливаем его, а сам квадрат отодвигаем в сторону так, чтобы он был размещён по центру следующей ячейки. 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.

Первую координату Х активного квадрата мы узнаем из его свойств.

Кликаем на столбец квадрата – PositionSet X coordinate и вводим координаты.

Так как у нас уже есть условие по клику мыши, исключим для него возможность срабатывания, когда предмет уже находится в инвентаре (кликнем на координаты и выберем в выпадающем списке Lower). В Start of frame добавим опцию Stop для Item 3-10.

Проверяем. Заполняем инвентарь предметами, удаляем их и снова заполняем. Всё должно работать.

Программу, которую мы создали, можно ещё и оптимизировать. Какие наши действия были лишними?





А в следующий раз мы познакомимся с приближением в играх.

ЧАСТЬ II. ФУНКЦИОНАЛ ИГР

Урок 5. Приближение в играх

В этом уроке мы узнаем, что такое zoom-zoom. Мы рассмотрим три способа, но сначала зайдём на официальный сайт Clickteam  Clickstore и загрузим Mega Shader Pack.

Затем перенесём файлы из архива в папку с Clickteam Fusion.

Первый способ

Откроем новый проект, загрузим любой понравившийся фон и добавим активный объект и  Backdrop.

Добавим для активного объекта эффект линзы: PropertiesEffectsLensOK.

Также снимем чекбокс в настройках напротив слов «следовать за фреймом».

Также перетащим активный объект и зададим ему такие параметры, чтобы он занимал все поле.

Затем перейдём в редактор событий и будем увеличивать первую переменную при прокручивании колёсика мыши вверх и уменьшать при прокручивании колеса вниз. New condition – The keyboard – When mouse wheel is moved up – OK, повторяем для следующего условия, выбирая «Moved down».

Кликаем на столбец объекта в первом условии – Alterable valuesAdd to – (вводим 1) – ОК. Повторяем для второго условия, заменяя на «Subtract from».

В последнем событии «Всегда» мы будем присваивать второй переменной значение по показанной формуле и применять нужный эффект.  Для третьего условия кликаем на Special conditionsAlways. Кликаем на столбец объекта – Alterable valuesSet(выбираем в выпадающем списке Alterable Value B, кликаем на объект) ValuesValues A to MRetrieve alterable value B (добавляем в формулу «+», кликаем на объект) – Values Values A to MRetrieve alterable value A – (добавляем в формулу «-«, кликаем на объект) ValuesValues A to MRetrieve alterable value B (добавляем в формулу «*0.1») – OK.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».