//淡入淡出public Image fadeScreen;public float fadeSpeed;private bool shouldFadeToBlack;private bool shouldFadeFromBlack;
设置绑定节点和设置值
Update()中,掌握淡入淡出
if(shouldFadeToBlack){ fadeScreen.color = new Color(fadeScreen.color.r, fadeScreen.color.g, fadeScreen.color.b, Mathf.MoveTowards(fadeScreen.color.a, 1f, fadeSpeed Time.deltaTime)); if(fadeScreen.color.a == 1f) { shouldFadeToBlack = false; }}if (shouldFadeFromBlack){ fadeScreen.color = new Color(fadeScreen.color.r, fadeScreen.color.g, fadeScreen.color.b, Mathf.MoveTowards(fadeScreen.color.a, 0f, fadeSpeed Time.deltaTime)); if (fadeScreen.color.a == 0f) { shouldFadeFromBlack = false; }}
添加函数,掌握淡入淡出

public void FadeToBlack(){ shouldFadeToBlack = true; shouldFadeFromBlack = false;}public void FadeFromBlack(){ shouldFadeFromBlack = true; shouldFadeToBlack = false;}
3.LevelManager中
角色去世亡时,添加淡入效果
重新复活时,添加淡出效果
private IEnumerator RespawnCo(){ PlayerController.sInstance.gameObject.SetActive(false); //去世亡音效 AudioManager.sInstance.playSFX(8); yield return new WaitForSeconds(waitToRespawn - 1f / UIController.sInstance.fadeSpeed); //淡出效果 UIController.sInstance.FadeToBlack(); yield return new WaitForSeconds(1f / UIController.sInstance.fadeSpeed); //淡入效果 UIController.sInstance.FadeFromBlack(); PlayerController.sInstance.gameObject.SetActive(true); PlayerController.sInstance.transform.position = CheckpointController.sInstance.spawnPoint; //重置生命值 PlayerHealthController.sInstance.currentHealth = PlayerHealthController.sInstance.maxHealth; UIController.sInstance.UpdateHealthDisplay();}
4.游戏开始时淡出效果
设置FadeScreen颜色透明度A为255,默认状态下为玄色
在Start()中添加淡出效果代码
//游戏开始时添加淡入效果FadeFromBlack();
这样就能从玄色淡出到正常游戏颜色
5.设置UI隐蔽,以便编辑游戏淡入淡出效果设置后,游戏界面部分被玄色的FadeScreen遮住,此时可设置Layer显示隐蔽
这样在编辑游戏时,可打消UI遮住的影响。
须要编辑UI时,再设置UI Layer显示即可。