记录平时学到的新东西
场景
获取当前场景:
Scene scene = SceneManager.GetActiveScene();
重新加载当前场景:
SceneManager.LoadScene(当前场景序号);
API:
sceneCount:当前已加载场景的个数
CreateScene:创建新的场景
GetSceneAt:得到当前激活场景中的某个场景
GetSceneByBuildindex:通过Bulidindex获得场景
GetSceneByName:通过Name获得场景
GetSceneByPath:通过路径获得场景
LoadScene:加载场景
LoadSceneAsync:异步加载场景
MergeScenes:合并两个场景
MoveGameObjectToScene:把某物体移动到某场景当中
SetActiveScene:激活某个场景
UnLoadSceneAsync:卸载某个场景
OnSceneLoaded(Scene scene,LoadSceneMode mode):当场景加载时,调用此方法
调用方法:
private void Start()
{
SceneManager.sceneLoaded += this.OnsceneLoaded;
}
private void OnsceneLoaded(Scene scene,LoadSceneMode mode)
{
}
mode:使用什么模式加载
OnSceneUnLoaded(Scene scene,LoadSceneMode mode):当场景卸载时,调用此方法
调用方法亦同
粒子系统
获取当前粒子系统:
ParticleSystem.MainModule main = smokePuff.GetComponent<ParticleSystem>().main;
获得当前场景开始时颜色组件
main.startColor = gameObject.GetComponent<SpriteRenderer>().color;
例子
private void Start()
{
ParticleSystem ps = GetComponent<ParticleSystem>();
var main = ps.main;
main.startDelay = 5.0f;//生命周期
main.startLifetime = 2.0f;//生命长度
}
API:
isEmitting:是否发射粒子
isPaused:是否暂停
isPlaying:是否播放
isStopped:是否停止
动画状态机
GetCurrentAnimatorClipInfoCount:获取当前状态机状态