FPS遊戲之Player全屏掉血
阿新 • • 發佈:2018-12-12
最近在做策劃給的一些關於FPS型別的需求,Demo基本已經成型,接下來整理並記錄,高手略過,不喜勿噴!!!
主要是用了DoTween差件的ToAlpha方法
思路:Player受到傷害,顯示UI血圖,0.5s內圖片alpha設定成0
private Image uiSprite;//全屏血圖 private Color _alpha;//全屏血圖 alpha private Color _childAlpha; //小血塊 alph private Image childImage; void Awake () { _instance = this; uiSprite = GetComponent<Image>(); childImage = transform.GetChild(0).GetComponent<Image>(); uiSprite.enabled = false; childImage.enabled = false; _alpha = uiSprite.color; _childAlpha = childImage.color; } public void Show() { uiSprite.enabled = true; childImage.enabled = true; //childImage.CrossFadeAlpha(0, 0.5f, true); Tween tc = DOTween.ToAlpha ( () => childImage.color, (c) => childImage.color = c, 0, 0.5f ); Tween t = DOTween.ToAlpha ( () => uiSprite.color, (c) => uiSprite.color = c, 0, 0.5f ); t.OnComplete(() => { uiSprite.color = _alpha; uiSprite.enabled = false; childImage.color = _childAlpha; childImage.enabled = false; }); }