я делал платформер Godot с помощью видео на Youtube я делал все то же, что и он, но мой персонаж отказывается двигаться влево - PullRequest
0 голосов
/ 11 июля 2020

Пытаюсь сделать 2D платформер в годо с помощью одного из роликов. ссылка на видео: https://www.youtube.com/watch?v=PG0tfoPraE4. У меня очень мало опыта работы с Годо. Я застрял и не знаю, что делать. Я попытался посмотреть еще несколько видео в крайнем случае, но все они используют другой способ передвижения. Вот код

GDSCRIPT

extends KinematicBody2D

const MOVESPEED = 70

const JUMPFORCE = -200

const GRAVITY = 600

var motion = Vector2()


func _physics_process(delta):

    if is_on_floor():
        if Input.is_action_just_pressed("ui_up"):
            motion.y = JUMPFORCE
    if Input.is_action_pressed("ui_left"):
        motion.x = -MOVESPEED
        $Sprite.flip_h = true
        $AnimationPlayer.play("walk")
    if Input.is_action_pressed("ui_right"):
        motion.x = MOVESPEED 
        $Sprite.flip_h = false
        $AnimationPlayer.play("walk")
    else:
        motion.x = 0
        $AnimationPlayer.stop()
    motion.y += GRAVITY * delta


    motion = move_and_slide(motion, Vector2(0,-1))

1 Ответ

1 голос
/ 11 июля 2020

Ваш путь кода попадает в предложение else правильного движения. Так что мешает ему двигаться. Просто добавьте и еще справа, если, например:

if Input.is_action_pressed("ui_left"):
    motion.x = -MOVESPEED
    $Sprite.flip_h = true
    $AnimationPlayer.play("walk")
elif Input.is_action_pressed("ui_right"):
    motion.x = MOVESPEED 
    $Sprite.flip_h = false
    $AnimationPlayer.play("walk")
else:
    motion.x = 0
    $AnimationPlayer.stop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...