Как программисты, мы полагаемся на большое количество кода, созданного другими программистами до нас.
Каждый язык программирования поставляется со множеством полезностей созданных другими программистами, для экономии вашего времени.
Мы называем пакет кода, написанный другими разработчиками, библиотекой. Это куча кода, ожидающего, когда вы его используете.
Игровые движки, такие как Godot, содержат в себе множество таких библиотек. Они предоставляют огромный набор инструментов, чтобы сэкономить ваше время при создании игр.
Оглавление
Вы всегда будете использовать большое количество существующего кода
При написании кода вы всегда используете много кода от разработчиков, которые писали код до вас.
Очень скоро вы напишите свой первый кусочек кода. При этом вы будете использовать функции, созданные разработчиками Godot.
Функция — это именованный список инструкций. Мы можем приказать компьютеру последовательно выполнить все инструкции содержащиеся в функции.
Вызов функций
Когда вы указываете компьютеру выполнить функцию, мы говорим, что вы вызываете функцию.
Чтобы вызвать функцию, вам нужно написать её точное имя, а следом за ним поставить открывающую и закрывающую скобки. Чтобы вызвать функцию с именем «show», вы должны написать show().
В Godot вызов show() делает что-то видимым, например персонажа или предмет. Дополнительная функция hide() скрывает объект.
Если объект уже видимый, вызов show() не окажет никакого эффекта. Аналогично, если вы уже скрыли объект, повторный вызов hide() ничего не поменяет.
Можете рассказать мне больше о функции «run()»?
В GDScript, в отличие от некоторых других языков, мы обязаны помещать весь наш код внутрь функций
В ходе курса вы подробно узнаете, что такое функции и как они работают, но вот их краткий обзор, если вам любопытно.
Функция — это кусочек кода, который вы можете выполнить в любое время. Это именованный список инструкций.
Чтобы определить функцию, вам нужно написать ключевое слово func, имя функции, круглые скобки и двоеточие: func run(): определяет функцию с именем run().
Затем вам нужно перейти к следующей строке, чтобы написать тело функции, то есть список инструкций из которых она состоит.
Обратите внимание, что каждая инструкция начинается с символа Tab (табуляция). Компьютер использует символы табуляции, чтобы узнать, какие строки являются частью функции.
На протяжении всего курса вы увидите множество функций, названных run().
Аргументы функции
Мы используем круглые скобки для вызова функций, потому что в них можно поместить аргументы функции при её вызове.
Вот спрайт, стоящий прямо. Если мы вызовем функцию rotate(0.3), спрайт персонажа повернётся на 0.3 радиан.
Запись 0.3 в круглых скобках — это аргумент функции.
Аргументы — это значения (числа, фрагменты текста и многое другое), которые изменяют поведение функции.
Аргументы позволяют вам точно настроить эффект который произведёт функция при вызове. Иногда аргументы могут быть необязательными, но часто функции требуют их для работы.
Например, вызов rotate() без какого-либо аргумента приведет к ошибке. Без аргументов Godot не знает как сильно вы собираетесь повернуть спрайт.
Не беспокойтесь о том, что вам нужно запомнить, какие аргументы требует или принимает каждая функция! Документация всегда будет у вас под рукой, чтобы вы могли обратиться к ней, как программист.
Наконец, обратите внимание, как мы используем точку в числе 0.3 выше: вам нужно использовать такую точку для представления десятичных дробей. Вы не можете использовать запятые, так как они имеют другое предназначение в коде.
Что такое радианы?
Значение 0.3 представляет собой угол в радианах. В повседневной жизни мы привыкли измерять углы в градусах. Радиан — это ещё одна шкала, обычно используемая в видеоиграх и математике.
Вы можете преобразовать радианы в градусы, умножив их на 180 и разделив результат на число Пи:
degrees = radians * 180 / PI
Угол PI радиан соответствует 180 градусам. А 2 * PI — это полный оборот: 360 градусов.
Как именно работают радианы?
Радианы — это способ измерения углов на основе радиуса окружности.
Чтобы получить угол в радианах, вы берёте длину радиуса окружности и отмеряете на окружности дугу, равную этой длине. Угол этой дуги составит 1 радиан, потому что вы отмерили длину радиуса на окружности 1 раз.
Поскольку периметр окружности равен 2 * PI * radius, полный оборот (360°) соответствует 2 * PI радианам: вам нужно отмерить на окружности дугу равную 2 * PI радиусам, чтобы сделать полный круг.
Пример move_local_x()
Другой пример: с помощью функции move_local_x() вы можете перемещать персонажа влево и вправо. Функция принимает один аргумент: количество пикселей для смещения объекта.
Похожая функция move_local_y() заставляет персонажа перемещаться вверх и вниз.
Мы показали один из способов перемещения персонажа в игре, хотя позже мы рассмотрим более эффективные способы.
Почему move_local_y(20) перемещает персонажа вниз
При положительных значениях (20) приведенный выше код перемещает робота вправо и вниз.
Вероятно, это отличается от того, что вы изучали в школе: на уроках математики горизонтальная ось направлена вправо, как и здесь, но вертикальная ось направлена вверх.
В видеоиграх и, как правило, в компьютерной 2D-графике вертикальная ось направлена вниз. Поэтому всякий раз, когда вы перемещаете что-то по оси Y с положительным значением, оно перемещается вниз.