unity3d Start执行不同时问题
1.一个Scene的场景里有许多的GameObject,很多GameObject上绑定了Script,每个Script上又都有Start函数
using UnityEngine; using System.Collections; public class BallRotate : MonoBehaviour { private Vector3 Rot; private bool m_bRot =false; // Use this for initialization void Start () { Rot.x = 0; Rot.y = 0; Rot.z = 0; m_bRot = false; } // Update is called once per frame void Update () { if (m_bRot) { this.transform.Rotate(Rot.x, Rot.y, Rot.z); Rot.x += 0.010f; //Rot.y += 0.02f; //Rot.z += 0.12f; } } }
但是我们使用一个脚本调用另一个脚本的时候
m_ObjMusicPlayer.GetComponent<MusicControl>().PlayBg();
我们习惯性的在其他脚本里的Start函数里调用这个脚本的功能,我们帮默认这个脚本已经执行过Start的,但是事实上是不一定的。u3d会报错
这个时候我们要给他添加一个开放的接口Init,然后我们在调用功能的前面加上Init这个动作
m_ObjMusicPlayer = GameObject.Find("MusicPlayer"); //go Music m_ObjMusicPlayer.GetComponent<MusicControl>().Init(); m_ObjMusicPlayer.GetComponent<MusicControl>().PlayBg();
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 如何做好软件架构师
· 欧阳的2024年终总结,迷茫,重生与失业
· 聊一聊 C#异步 任务延续的三种底层玩法
· 上位机能不能替代PLC呢?
· 2024年终总结:5000 Star,10w 下载量,这是我交出的开源答卷
· .NET Core:架构、特性和优势详解
2013-09-24 opencv播放视屏并控制位置