Godot4中如何用C#让敌人向玩家移动

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

我正在用 C# 在 Godot 4 中制作 2d 自上而下的游戏,但我无法让敌人 AI 向玩家移动。它唯一跟随玩家的时间是当玩家在敌人下方并接触敌人时。

这是我的敌人移动代码:

public override void _PhysicsProcess(double delta)
{
    Move();
    MoveAndSlide();
}

public void Move()
{
    if (_player != null)
    {
        LookAt(_player.GlobalPosition);
        Vector2 direction = (GlobalPosition - _player.GlobalPosition).Normalized();
        Velocity = direction * Speed;
    }
    else
    {
        Velocity = Vector2.Zero;
    }
}
c# game-development 2d-games godot4
1个回答
0
投票

当前计算的方向应该使敌人远离玩家,尝试切换

GlobalPosition - _player.GlobalPosition

Vector2 direction = (_player.GlobalPosition - GlobalPosition).Normalized();
© www.soinside.com 2019 - 2024. All rights reserved.