c# - DontDestroyOnLoad 中的游戏对象变换
问题描述
我使用以下脚本来复制游戏对象的转换。
public Transform alignment;
void Update()
{
DontDestroyOnLoad(transform.gameObject);
transform.position = new Vector3(alignment.position.x, alignment.position.y, alignment.position.z);
float y = alignment.transform.localRotation.eulerAngles.y;
float x = alignment.transform.localRotation.eulerAngles.x;
float z = alignment.transform.localRotation.eulerAngles.z;
transform.localEulerAngles = new Vector3(x, y, z);
}
我想在其他场景中访问此转换(将其应用于游戏对象)。我怎样才能达到 DontDestroyOnLoad 中的转换?
解决方案
您需要将对齐作为参数提供给 DontDestroyOnLoad 方法,而不是 transform.gameObject。
DontDestroyOnLoad(alignment.gameObject);
此外,您不需要在 Update() 中调用此方法。只需调用一次就足够了。您可以在 Start() 中调用它,如下所示:
void Start()
{
DontDestroyOnLoad(alignment.gameObject);
}
现在,当您更改场景时,您的对齐游戏对象仍然可以访问。如果你想从新场景中的其他游戏对象访问它,你可能想给它一个标签或让它成为一个单例。
推荐阅读
- sql - 从选择 postgres 中选择
- three.js - 软阴影具有意外偏移
- python-3.x - 字典列表中的广播值
- python - 康达:SSLError(SSLError(SSLError(“糟糕的握手:SysCallError(104,'ECONNRESET')”,),),)康达
- ionic-framework - 如何将值从存储分配给离子3中的变量
- mysql - 具有无序parentid的mysql分层sql查询
- rest - 休息接口 JAX-RS
- c# - 如何在发布构建工件时设置变量值?
- php - Laravel 命名路由 URL 参数未按预期工作
- prolog - Prolog 动态谓词基本用法