Игрострой - создание 2D и 3D игр. Конструкторы, модели, текстуры фоны и движки. Скачать бесплатно и без регистрации. Работа с UDK, Unity и многое другое.


Суббота, 27.04.2024, 18:21
Приветствую Вас Гость | RSS
Игрострой
Главная
Регистрация
Вход

Игрострой - создать игру самому легко!

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Construct2 » Общие вопросы » Функции (Описание функций движка Construct2)
Функции
SERPENT1987Дата: Четверг, 23.01.2020, 11:48 | Сообщение # 1
Подполковник
Группа: Администраторы
Сообщений: 100
Репутация: 0
Статус: Offline
Описание функций игрового движка Construct 2. Полное русское описание.

Работа с World Editor, RPG Maker, UDK и прочие фишки.
 
SERPENT1987Дата: Четверг, 23.01.2020, 12:03 | Сообщение # 2
Подполковник
Группа: Администраторы
Сообщений: 100
Репутация: 0
Статус: Offline
Сперва мне бы хотелось рассказать о глобальных переменных Construct 2 и их использовании.

Как создать глобальную переменную в Construct2?

Когда вы создаёте новый Layout вам предлагает создать Event Sheet для данного Layout'а. Всегда соглашайтесь. Он необходим для написания функций.

Так же вы можете создать пустой Event Sheet непривязанный ни к одному layout. Но использовать его вы можете в любом Event Sheet достаточно его просто туда добавить. В нашем случае мы просто создадим пустой Event Sheet и назовём его Global (к примеру). Сделать это можно в окне Projects (по умолчанию справа). На папке Event Sheets необходимо кликнуть правой кнопкой мыши и выбрать пункт "Add Event Sheet".

В нём мы просто зададим наши переменные.

Создать переменную просто, правой кнопкой мыши кликните на пустом пространстве Event Sheet "Global". Затем выберите пункт меню "Add global variable".

Вам будет предложено ввести имя переменной. выбрать её тип (Number или Text). Выбираем подходящую нам по смыслу.

Далее необходимо ввести начальное значение переменной. Если вы планируете её использовать как константу (неизменяемое значение) то можете сразу указать её значение. Если же переменная используется как временное хранилище данных, то можете оставить значение пустым или равным 0. Позже вы сможете его задать или изменить при помощи функций.

Я думаю многие впадут в ступор, не найдя типа переменной Boolean (принимает значения True или False). Но True и False с точки зрения кода это 0 - False, 1 - True. Так что в них нет необходимости. Просто используйте числовые переменные, принимающие значения 1 или 0 и используйте их как Boolean.

Глобальная переменная созданная вами в любом Event Sheet, будет доступна для использования в любом Event Sheet. Именно поэтому я предлагаю создавать отдельную таблицу для глобальных переменных, не привязывая её к Layout.

Как применять переменные я думаю вы и сами понимаете.


Работа с World Editor, RPG Maker, UDK и прочие фишки.
 
SERPENT1987Дата: Пятница, 24.01.2020, 15:08 | Сообщение # 3
Подполковник
Группа: Администраторы
Сообщений: 100
Репутация: 0
Статус: Offline
Одна из первых функций, с которой вам жизненно необходимо познакомиться, это функция "Trigger once while true".

Многие удивятся, почему же именно она? Объясняю. По умолчанию все триггеры выполняются каждый Tick (примерно 60 раз в секунду) до тех пор пока все их условия истинны.

Не использование данной функции может прилично нагрузить хороший ПК очень быстро. Простей ший пример:

Условие: 

Переменная X==1

Действия:

"Sprite" Create Another Object "Sprite"

Вроде бы логично всё. Но теперь представьте, что переменная X равна 1 например 10 минут, прежде чем её значение н стало равно 0.

10*600*60= 360 000 спрайтов создано. Я думаю любой браузер не одобрит такое количество графики.

Если же в вашем триггере будет:

Условия:

Переменная Х==1
Trigger once while true

Действие:

"Sprite" Create Another Object "Sprite"

То будет создан только один спрайт.

Если же вы зададите переменной Х значение 0, а затем снова она станет равна 1, то только тогда будет создан ещё один спрайт. Это весьма критичный момент. Иначе ваша игра станет просто поедателем оперативной памяти, видеокарты и процессора ПК на котором она будет запущена. Если же например Вы оставите 50 неоптимизированных триггеров, то представьте сами масштаб лагов в игре.


Работа с World Editor, RPG Maker, UDK и прочие фишки.
 
SERPENT1987Дата: Понедельник, 27.01.2020, 12:25 | Сообщение # 4
Подполковник
Группа: Администраторы
Сообщений: 100
Репутация: 0
Статус: Offline
Функции Every Tick и Every X seconds

Схожие по смыслу условия, но работают всё таки различно.

Функция Every Tick по сути своей вообще бесполезна, так-как любое действие с верными условиями выполняется каждый Tick, и применять её отдельно практически нет необходимости. 

Функция Every X seconds в разы полезнее.

Она позволяет контролировать частоту срабатывания триггера. Если условие верное, то раз в 5 секунд делать что-либо. Это весьма полезная функция и есть масса применений для неё. Например:

Игрок нашёл Волшебную Монету. Ставим нужную переменную равной 1 и каждый Х секунд с неба падает одна монетка. 

Или же игрок получил аптечку и каждые Х секунд у него восстанавливается по Х здоровья.


Работа с World Editor, RPG Maker, UDK и прочие фишки.
 
SERPENT1987Дата: Вторник, 28.01.2020, 11:09 | Сообщение # 5
Подполковник
Группа: Администраторы
Сообщений: 100
Репутация: 0
Статус: Offline
Далее одна из наиважнейших функций в любом проекте "Variable Compare".

Как могут догадаться люди знакомые с программированием - это сравнение переменной. Это одно из самых часто используемых условий. 

Сравнить можно текстовые переменные или числовые.

Числовые наверняка будут в разы полезнее. Ведь когда число становится равно определённому значению, то данное условие становится истинным. Соответственно выполняются и действия.

Например у Игрока 100 здоровья. Если здоровье = или > 0 то персонаж должен умереть. Но как объяснить это игре? Да легко.

Создаём переменную, например Character_HP. Присваиваем ей значение 100.

Далее вычитаем из неё полученный урон.

Условие:

Character HP =< 0

Действие:

Destroy спрайт персонажа и прочие ваши действия.

Ещё числовые переменные используются и как Boolean (True False) только вместо привычных True, False используются 1 и 0. 

Игрок убил нужного монстра? Ставим значение переменной = 1

Значение переменной == 1? Открываем дверь.

И таких переменных для условий может быть хоть 1000.


Работа с World Editor, RPG Maker, UDK и прочие фишки.
 
Форум » Construct2 » Общие вопросы » Функции (Описание функций движка Construct2)
  • Страница 1 из 1
  • 1
Поиск:


igrostroi.3dn.ru - Создавай игры! © 2024
Бесплатный хостинг uCoz

Вы можете скачать текстуры, модели, 2D и 3D движки и конструкторы игр бесплатно. Всё для создания игр разных жанров и направлений. Иконки, мануалы, скрипты и код.
UDK, Unity, HTML, Java.