|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1735117
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2015/4/22 8:39 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [轉貼]Unity 4.6 UGUI 如何淡出(fadeout)?
- making a fadeout with the new GUI in 4.6?
I figured that making a fadeout transition with the new GUI system would be easy, my plan was: create a black panel (Image component) that fills the whole screen, control the alpha with a Mathf.Lerp and there! fadeout accomplished!.... the problem is, I have no idea how to access the alpha of the Image Component... is there a way to do that? or maybe an even easier way to do fadeouts/fadeins with this new Gui system? thanks in advance!
You should use the gui element's color field. color.a represents the alpha value, so that's what you should change.
Use a CanvasGroup component on the parent panel (not the Image), and fade the Alpha of that.
using UnityEngine;
using System.Collections;
public class GUIFadeScript : MonoBehaviour {
public CanvasGroup fadeCanvasGroup;
public IEnumerator FadeToBlack(float speed)
{
while (fadeCanvasGroup.alpha < 1f)
{
fadeCanvasGroup.alpha += speed * Time.deltaTime;
yield return null;
}
}
}
You have to have an image. I just used myImage as an example. You can get the image component by going
Image myImage = GetComponent<Image>();
myImage.color = new Color(0.0f, 0.0f, 0.0f, Mathf.Lerp(myImage.color.a, 0.0f, Time.deltaTime));
原文出處:making a fadeout with the new GUI in 4.6? - Unity Answers
|
|
|
討論串
|