Vector3.move_toward(Vector3,delta) 不起作用,Godot 3d

问题描述 投票:0回答:1

我希望敌人朝玩家移动。 所以我使用 Godot 3.3.4 并编写了这段代码,它应该可以工作。但这不起作用。 我用敌人的脚本编写了这段代码,

self.global_transform.origin.move_toward(player.global_transform.move_toward,32)

我觉得这应该可行,因为 global_transform.origin 是一个向量。这里的“玩家”已经在Onready var中并且找到了节点。

我不确定我做错了什么。

3d godot
1个回答
0
投票

Move_toward 不会直接改变原点 Vector3,而是返回一个新的 Vector3,该 Vector3 向参数移动了 delta 量。

因此,要真正移动敌人,您必须将 global_transform.origin 设置为返回值:

global_transform.origin = global_transform.origin.move_toward(player.global_transform.origin, 32)

注意: 不知道你的代码,但 32 的增量可能会很快。

© www.soinside.com 2019 - 2024. All rights reserved.