FPS游戏之Player全屏掉血

最近在做策划给的一些关于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;
        });

    }

猜你喜欢

转载自blog.csdn.net/u012909508/article/details/82909097