Unity5のUIボタンにフェードインやフェードアウトエフェクトを追加したいのですが、CrossFadeAlphaとCrossFadeColorはボタンでは機能しません。 UIボタンのフェードインとフェードアウトの効果を1つにまとめる方法がありますか?FadeIn fadeOut UIボタンが1になっています5
0
A
答えて
0
私はこの例があなたを助けてくれることを願っています。スクリーンがゆっくりと暗くなるときにボタンを押してください。fadeOut。あなたがdragAndDropボタンのonClickと設定機能FadeIt
public class Fade : MonoBehaviour
{
public void FadeIt()
{
StartCoroutine(DoFade());
}
IEnumerator DoFade()
{
CanvasGroup canvasG = GetComponent<CanvasGroup>();
While (canvasG.alpha > 0)
{
canvasG.alpha -= Time.deltaTime/2 ; // optinal parameters 2 ,3 ,5
yield return null;
}
}
}
0
をフェードインが最初に0でcanvas.alpha
値を設定するために、その値
選択キャンバス階層パネルを増やしたいとフェードクラスを追加する場合に方法で構築何もありませんこれを行うが、これを行う独自の方法を実装することができます。 Button
からImage
とText
のコンポーネントを取得してから、時間の経過とともにコルーチンを使用して色のアルファを変更します。
IEnumerator fadeButton(Button button, bool fadeIn, float duration)
{
float counter = 0f;
//Set Values depending on if fadeIn or fadeOut
float a, b;
if (fadeIn)
{
a = 0;
b = 1;
}
else
{
a = 1;
b = 0;
}
Image buttonImage = button.GetComponent<Image>();
Text buttonText = button.GetComponentInChildren<Text>();
//Enable both Button, Image and Text components
if (!button.enabled)
button.enabled = true;
if (!buttonImage.enabled)
buttonImage.enabled = true;
if (!buttonText.enabled)
buttonText.enabled = true;
//For Button None or ColorTint mode
Color buttonColor = buttonImage.color;
Color textColor = buttonText.color;
//For Button SpriteSwap mode
ColorBlock colorBlock = button.colors;
//Do the actual fading
while (counter < duration)
{
counter += Time.deltaTime;
float alpha = Mathf.Lerp(a, b, counter/duration);
//Debug.Log(alpha);
if (button.transition == Selectable.Transition.None || button.transition == Selectable.Transition.ColorTint)
{
buttonImage.color = new Color(buttonColor.r, buttonColor.g, buttonColor.b, alpha);//Fade Traget Image
buttonText.color = new Color(textColor.r, textColor.g, textColor.b, alpha);//Fade Text
}
else if (button.transition == Selectable.Transition.SpriteSwap)
{
////Fade All Transition Images
colorBlock.normalColor = new Color(colorBlock.normalColor.r, colorBlock.normalColor.g, colorBlock.normalColor.b, alpha);
colorBlock.pressedColor = new Color(colorBlock.pressedColor.r, colorBlock.pressedColor.g, colorBlock.pressedColor.b, alpha);
colorBlock.highlightedColor = new Color(colorBlock.highlightedColor.r, colorBlock.highlightedColor.g, colorBlock.highlightedColor.b, alpha);
colorBlock.disabledColor = new Color(colorBlock.disabledColor.r, colorBlock.disabledColor.g, colorBlock.disabledColor.b, alpha);
button.colors = colorBlock; //Assign the colors back to the Button
buttonImage.color = new Color(buttonColor.r, buttonColor.g, buttonColor.b, alpha);//Fade Traget Image
buttonText.color = new Color(textColor.r, textColor.g, textColor.b, alpha);//Fade Text
}
else
{
Debug.LogError("Button Transition Type not Supported");
}
yield return null;
}
if (!fadeIn)
{
//Disable both Button, Image and Text components
buttonImage.enabled = false;
buttonText.enabled = false;
button.enabled = false;
}
}
使用:
public Button button;
フェードインButton
3
秒
StartCoroutine(fadeButton(button, true, 3));
フェードアウト3
秒でButton
で
StartCoroutine(fadeButton(button, false, 3));
0
使用LeanTweenウィッヒは、あなたのproyectに資産ストアおよびインポートLeanTween.csからパッケージをダウンロードし、Unity3dのための効率的なトゥイーンエンジンです。
このスクリプトでフェードインまたはフェードアウトを追加するには、キャンバスグループの補数を持っている必要がありますボタン:私はあなたが作成することができますどちらかと言うと思います
myButton.onClick.AddListener(()=>{
LeanTween.alphaCanvas (myButton.GetComponent<CanvasGroup>(), 0f, 0.1f);
});
関連する問題
- 1. fadeOut、fadeIn、stop
- 2. FadeIn、FadeOutコールバック
- 3. fadeInとfadeOutクロスブラウザ
- 4. fadeIn()/ fadeOut()でHide()
- 5. jQuery fadein fadeout Slideshow
- 6. .load()、fadeOut()、fadein()が機能しない
- 7. Fadein FadeOutがIE8で動作しない
- 8. fadein fadeout help
- 9. fadeIn、fadeOut jQueryコードスニペット
- 10. Angular4 | Route Transitions - FadeIn/FadeOut
- 11. fadeInとfadeOutが十分に速く完了していない
- 12. 同時fadeInとfadeOut
- 13. 'FadeIn'と 'FadeOut'が機能しません
- 14. jQuery fadeOut/fadeIn効果ヘルプ。 (jsfiddle)
- 15. jQuery:最初に画像にfadeIn/fadeOutが機能しない
- 16. animateWithDuration - UITextFieldのFadeIn/FadeOutアニメーション
- 17. fadeInとfadeOutが期待通りに動作しない
- 18. FadeInとFadeOutの問題
- 19. fadeinとfadeoutのjqueryアニメーション
- 20. Jquery、Javascript fadeIn、fadeOut not working
- 21. iphone sdkを使ってFadeInとFadeOutを再生する方法
- 22. fadeIn fadeOut、常に起動されていません
- 23. fadein/fadeoutをスピードアップするには
- 24. JQuery addClass fadeIn fadeOutがIE8で動作しない
- 25. fadeInの前にfadeOutを追加
- 26. fadeIn/FadeOutが実行されている間に他のスクリプトが実行されないようにします
- 27. fadeIn/fadeOutチェックボックスがチェックされたときに最も近いdiv
- 28. fadeIn()delay()とfadeOut()の時間差
- 29. jqueryが最初のプラグインを行った - あまりにも速くなったときにfadeIn/fadeOutの問題
- 30. なぜ私のdivsはfadeOut私がフェードインに戻ってくる?
私の頭の上オフ(アルファ値を使用して)ボタンをフェードアウトしたり、それを行うコルーチンを作成したりするアニメーションです。 – UnholySheep
私は残した答えを試しましたか? – Programmer
イベントハンドラのポインタを下にして画像を使用し、クロスフェードアルファを追加しました。 –