在起始位置返回游戏对象

时间:2017-12-06 16:07:25

标签: c# unity3d

嗨,大家好, 我在Unity(C#)工作,我遇到了问题。我有一个叫做littleOne的立方体,它从起始位置掉下来,另一个立方体破坏了第一个立方体OnTriggerEnter。当第一个立方体与“驱逐舰”立方体碰撞时,我想将它带回到起始位置。所有游戏对象都正确附加到脚本。这是我的解决方案:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DestroyObject : MonoBehaviour
{
    public GameObject littleOne;

    public Vector3 startPoint;

    void Start()
    {
        startPoint = littleOne.transform.position;
    }

    // Update is called once per frame
    void Update()
    {
    }


    private void OnTriggerEnter(Collider other)
    {   
        if(other.gameObject.name == "littleOne") {
            other.gameObject.transform.position = startPoint; //*not working
            //littleOne.transform.position = startPoint; //*not Working
        }
    }
}

有符号*的行什么都不做,这些行很好我有问题。我正在寻找解决方案,我尝试了这种方式,但没有任何反应。

编辑:问题已解决:我已解决了这个问题。这段代码我已经转移到一个脚本操作下降。它是一个对象的多个相关脚本中的问题。感谢您的推荐!

1 个答案:

答案 0 :(得分:0)

其他对象和littleOne指的是你正在销毁的同一个对象:

不要破坏它:

private void OnTriggerEnter(Collider other)
{   
    if(other.gameObject.name == "littleOne") 
    {
        littleOne.transform.position = startPoint; 
    }
}