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

问题描述

编辑:玩家、硬币、磁铁、磁铁收集 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 (将#修改为@)