2017-09-06 12 views
2

私はGodotゲームエンジンを学習しています。歩くことができ、他のオブジェクトを通過できないボールを作ろうとしましたが、ボールは他のオブジェクトを通過し続けます。キネマティックオブジェクトは衝突を検出しません - Godot

extends KinematicBody2D 

export var viteza = 140 

func _ready(): 
    set_fixed_process(true) 

func _fixed_process(delta): 
    delta *= 5 
    var motion = Vector2() 

    if Input.is_key_pressed(KEY_UP): 
     motion[0] = 0 
     motion[1] = -1 

    if Input.is_key_pressed(KEY_DOWN): 
     motion[0] = 0 
     motion[1] = 1 

    if Input.is_key_pressed(KEY_LEFT): 
     motion[0] = -1 
     motion[1] = 0 

    if Input.is_key_pressed(KEY_RIGHT): 
     motion[0] = 1 
     motion[1] = 0 

    motion = motion * viteza * delta 
    set_pos(get_pos() + motion) 

シーン(画像): Scene

何が問題になっています。ここ

は、コードのですか?

答えて

3

KinematicBody2Dでは決してset_pos()を使用しないでください。あなたはmove()を使う必要があります。

関連する問題