运动物体没有发现任何碰撞 - 戈多

时间:2017-09-06 21:39:06

标签: input collision-detection collision godot gdscript

我正在学习戈多游戏引擎,我试图制作一个可以行走但不能穿过其他物体的球,但是球会继续穿过其他物体。

以下是代码:

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

有什么问题?

1 个答案:

答案 0 :(得分:3)

切勿在KinematicBody2D中使用set_pos()。你需要使用move()。