В этой небольшой статье будем создавать управления для танка. Игра будет с видом сверху. Башня танка будет всегда указывать на курсор мышки. А управлять танком будем через клавиши WASD.
Для начала скинем проект наши спрайты. В нашем случае — сама основа танка и отдельно башня.
В годо создаем новую ноду Kinematic2D (переименуем в tank) . Под неё кидаем спрайты и колижен шеип.
В итоге наш проект должен выглядеть вот так :
В настройках годо настроим клавиши управления.
Далее подключаем скрипт и начинаем писать код.
Первое, что нужно сделать — перечислить все необходимые переменные.
В нашем случае это скорость, вектор направления и переменная поворота танка.
Подключаем функцию _Process, и заводим управление.
При нажатии на кнопку A или D, наш танк поворачивается на месте влево и вправо соответственно. Не забываем о том, что поворот считается в радианах, поэтому в коде такие мелкие значения.
При нажатии W или S наш танк либо едет вперед, либо назад путем назначения конкретных значений скорости.
Далее подключим повороты.
Поворот башни будем делать при помощи уже знакомого нам look_at() метода.
А поворачивать танк будем через переменную tank_angle заведя её в свойство rotation которое так же принимает значение в радианах.
Ну и всё что нам осталось — подключить метод move_and_slide, и подать в него наш вектор и угол поворота.
Проверяем !
Всё работает как и задумывалось.
На этом всё. И по традиции — удачного изучения годо !
Надеюсь вам был полезен этот материал.
Подписывайтесь на канал, и вступайте в группу в ВК.