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

无法让我的游戏对象在碰撞后改变位置

如何解决无法让我的游戏对象在碰撞后改变位置

编辑:玩家、硬币、磁铁、磁铁收集 4 种不同的游戏对象

当我与磁铁收藏品碰撞时,磁铁游戏对象被激活。它有一个大碰撞器,没有网格,所以它会在玩家之前碰撞。这个想法是当它与硬币碰撞时,硬币应该向玩家移动,甚至磁铁也会起作用由于附加脚本,它的位置与玩家相同。

图片

pic1

2

3

4

我正在尝试制作 3d 跑酷游戏,我已经阅读了所有相关主题并观看了 youtube 上的所有内容。这对您来说可能听起来很俗气,但我是编码初学者。 所以我的问题是,在我拿起硬币磁铁后,我将磁铁游戏对象设置为活动状态,当它与黄金碰撞时,黄金应该向我的玩家移动。我无法完成这项工作。已经尝试了一天半了。等待您的解决方案 我还通过将 debug.log 放在那里来尝试代码,然后它们被打印到控制台。似乎硬币不会改变它们的位置,除非你们试一试

我把这个贴在硬币上

     public   GameObject p;
private float movementSpeed= 10f;
private void Start()
{
   

}

private void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Magnet"))
    {
        
        transform.position = Vector3.Movetowards(transform.position,other.transform.position,movementSpeed * Time.deltaTime);

    }
}

这对磁铁

void Start()
{
    transform.position = p.transform.position;
}

// Update is called once per frame
void Update()
{
    transform.position = p.transform.position;
}

也试过此代码用于硬币,但效果不佳

public   GameObject p;
private float movementspeed= 10f;
private void Start()
{
   

}

private void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Magnet"))
    {
        
        transform.position =(transform.position - p.transform.position)*time.deltatime*speed;

    }
}

如果还有什么需要我会立即更新帖子。我只是在这里f5ing页面等待解决方案。谢谢

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