Unity实现场景加载渐入渐出效果
项目中要用到加载场景的时候有个渐入渐出的效果,做了一下,跟大家分享
首先,创建两个场景Main和Game场景;
其次,在Main场景中创建FandeScene.cs脚本,创建Fade空对象,挂载,给一张黑色的图片,拖成预设体,同样也拖到Game场景中。
usingUnityEngine;usingSystem.Collections;publicclassFadeScene:MonoBehaviour{publicTextureblackTexture;privatefloatalpha=1.0f;publicfloatfadespeed=0.2f;privateintfadeDir=-1;//UsethisforinitializationvoidStart(){}//UpdateiscalledonceperframevoidUpdate(){}voidOnGUI(){alpha+=fadeDir*fadespeed*Time.deltaTime;GUI.color=newColor(GUI.color.r,GUI.color.g,GUI.color.b,alpha);GUI.DrawTexture(newRect(0,0,Screen.width,Screen.height),blackTexture);}publicfloatBeginFade(intdirection){fadeDir=direction;return1/fadespeed;}voidOnLevelWasLoaded(){Debug.Log("场景加载完毕!");BeginFade(-1);}}
再次,加载场景
协程加载IEnumeratorFadeLoadScene(){floattime=GameObject.Find("Fade").GetComponent<FadeScene>().BeginFade(1);yieldreturnnewWaitForSeconds(time);SceneManager.LoadSceneAsync("Game");}
这样运行,就会出现渐入渐出的效果。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。