Unity当按下一个按钮后重置所有东西的代码
若要重置所有东西,可以在按钮的点击事件中使用以下代码:
using UnityEngine;
public class ResetButton : MonoBehaviour
{
public GameObject[] objectsToReset; // 需要重置的所有游戏对象
private void Start()
{
// 在开始时保存初始位置和旋转信息
foreach (GameObject obj in objectsToReset)
{
obj.GetComponent<ObjectReset>().SaveInitialState();
}
}
public void ResetAll()
{
// 重置所有游戏对象
foreach (GameObject obj in objectsToReset)
{
obj.GetComponent<ObjectReset>().Reset();
}
}
}
然后,你需要为需要重置的每个游戏对象创建一个脚本,例如ObjectReset.cs,并将其附加到相应的对象上。脚本中的代码如下:
using UnityEngine;
public class ObjectReset : MonoBehaviour
{
private Vector3 initialPosition;
private Quaternion initialRotation;
public void SaveInitialState()
{
// 保存初始位置和旋转信息
initialPosition = transform.position;
initialRotation = transform.rotation;
}
public void Reset()
{
// 重置位置和旋转
transform.position = initialPosition;
transform.rotation = initialRotation;
}
}
这样,当按下按钮时,ResetAll() 方法将被调用,它将遍历 objectsToReset 数组中的所有游戏对象,并调用 ObjectReset 脚本中的 Reset() 方法来重置它们的位置和旋转
原文地址: https://www.cveoy.top/t/topic/hzjz 著作权归作者所有。请勿转载和采集!