我自己的学习历程(持续更新)

记录平时学到的新东西

场景

获取当前场景:

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:获取当前状态机状态

猜你喜欢

转载自blog.csdn.net/qq_43461641/article/details/84679179
今日推荐