微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检测到碰撞后如何解决?

如何解决检测到碰撞后如何解决?

我在平台的更新功能中有代码,可以检测玩家何时与其发生碰撞。这是 C# 中的代码

class Platform
{
    public Vector2 position;
    public Vector2 size;

    public void Update(ref Player player)
    {
        bool xCollision = player.position.X > position.X && player.position.X + player.size.X < position.X + size.X;
        bool yCollision = player.position.Y + player.size.Y > position.Y && player.position.Y < position.Y + size.Y;

        if (!yCollision || !xCollision) return;

        //Solve collisionz
    }

    public void Draw(Color color)
    {
        Raylib.DrawRectangle((int)position.X,(int)position.Y,(int)size.X,(int)size.Y,color);
    }

    public Platform(Vector2 position,Vector2 size)
    {
        this.position = position;
        this.size = size;
    }
}

这是一个 2d 平台游戏,所以我真正想做的就是让玩家开箱即用。

问题是,我知道如何将玩家移动到盒子的边缘。但是,我不知道如何决定将玩家带到哪个边缘。我怎样才能知道?

提前感谢任何提供帮助的人

附言请不要批评我将碰撞检测放在平台更新而不是某种物理世界中。我有我的理由。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。