예제 #1
0
    void Update()
    {
        vals += Time.deltaTime;

        if (mode == FADEMODE.IN)
        {
            targetUI.color = new Color(FadeColor.r, FadeColor.g, FadeColor.b, 1 - (float)Math.Sin(((vals - FadeOutTime) / FadeInTime) * 90 * (Math.PI / 180)));
            if (vals >= FadeInTime + FadeOutTime)
            {
                IsActive = false;
                Destroy(gameObject);
            }
        }

        else
        {
            targetUI.color = new Color(FadeColor.r, FadeColor.g, FadeColor.b, (float)Math.Sin((vals / FadeOutTime) * 90 * (Math.PI / 180)));

            if (FadeHandle)
            {
                mode = FADEMODE.IN;
            }

            if (vals >= FadeOutTime)
            {
                // vals = 0;
                if (_name != string.Empty)
                {
                    SceneLoader.LoadN(_name);
                }
                else if (_index >= 0)
                {
                    SceneLoader.LoadN(_index);
                }
            }
        }
    }
예제 #2
0
	void FadeIn()
	{
		if( true == Application.isEditor)
			fadeSpeed = 10.0f;

		currentColor.a += fadeSpeed * Time.deltaTime;
		if( currentColor.a > 1.0f )
		{
			currentColor.a = 1.0f;
			fadeMode = FADEMODE.FM_NONE;
		}

		if( renderer.sharedMaterials.Length > 1 )
		{
			for( int i = 0; i < renderer.sharedMaterials.Length; ++i )
			{
				renderer.sharedMaterials[i].SetColor( propertyName, currentColor );
			}
		}
		else
		{
			renderer.material.SetColor( propertyName, currentColor );
		}
	}
예제 #3
0
	public void SetFadeMode( FADEMODE _mode )
	{
		fadeMode = _mode;
	}
예제 #4
0
	void FadeOut()
	{
		//if( true == Application.isEditor)
		//	fadeSpeed = 10.0f;
		
		currentColor.a -= fadeSpeed * Time.deltaTime;
		if( currentColor.a < 0.0f )
		{
			currentColor.a = 0.0f;
			fadeMode = FADEMODE.FM_NONE;

			if( fadeOutToNext && parentFramework )
				parentFramework.NextStep();

			if( fadeOutToDeactiveSelf )
				gameObject.SetActiveRecursively( false );

			if( fadeOutToDeactiveStep )
				parentFramework.DeactivePrevStep();
		}

		if( renderer.sharedMaterials.Length > 1 )
		{
			for( int i = 0; i < renderer.sharedMaterials.Length; ++i )
			{
				renderer.sharedMaterials[i].SetColor( propertyName, currentColor );
			}
		}
		else
		{
			renderer.material.SetColor( propertyName, currentColor );
		}
	}
예제 #5
0
    void Update()
    {
        Fadeings -= Time.deltaTime / (mode == FADEMODE.OUT ? SceneLoader.FadeOutTime : SceneLoader.FadeInTime);
        if (Fadeings < -1)
        {
            Fadeings = -1;
        }
        print("fadeings:::" + Fadeings_);
        vals += Time.deltaTime;

        if (type_ == FADETYPE.DX)
        {
            type_ = FADETYPE.Normal;
            if (mode == FADEMODE.IN)
            {
                //変化
            }

            else
            {
                //変化
            }
        }

        else if (type_ == FADETYPE.Normal)
        {
            targetUI.color = new Color(FadeColor.r, FadeColor.g, FadeColor.b, 1 - Mathf.Abs(Fadeings_));
        }


        if (mode == FADEMODE.IN)
        {
            if (Fadeings_ <= -1f)
            {
                IsActive = false;
                Destroy(gameObject);
                IsFade = false;
                _name  = "";
                _index = -1;
                //Fadeings = -1;
            }
        }
        else
        {
            if (FadeHandle)
            {
                mode = FADEMODE.IN;
            }

            if (Fadeings_ <= 0)
            {
                //Fadeings = 0;
                if (_name != string.Empty)
                {
                    SceneLoader.LoadN(_name);
                }
                else if (_index >= 0)
                {
                    SceneLoader.LoadN(_index);
                }
            }
        }
    }
예제 #6
0
    /// <summary>
    /// 保留 ゲームスタート時のカウントダウンをする関数
    /// </summary>
    /// <returns></returns>
    //public IEnumerator StartCountdown()
    //{
    //    for(int i=0; i<countdowns.Count;i++)
    //    {
    //        if(i==3)
    //        {
    //            AudioManager.Instance.PlaySE(start_and_endSE, 1f);
    //        }
    //        countdowns[i].SetActive(true);
    //        yield return new WaitForSeconds(1);
    //        countdowns[i].SetActive(false);
    //    }
    //}


    public IEnumerator StartFade(FADEMODE fadeMode)
    {
        var fadeObj             = GameObject.Find("Fade").gameObject;
        var fadeImage           = fadeObj.GetComponent <Image>();
        var fadeColor           = fadeImage.color;
        var startFadeColorAlpha = 0f;
        var endFadeColorAlpha   = 0f;
        var fadeTime            = 0f;

        switch (fadeMode)
        {
        case FADEMODE.FADEIN:
            // Fadeを暗くする
            fadeColor.a = 1f;
            // 開始時の透明度
            startFadeColorAlpha = 1f;
            // 終了時の透明度
            endFadeColorAlpha = 0f;
            // フェードインし終わるまでの時間を設定
            fadeTime = fadeInTime;
            break;

        case FADEMODE.FADEOUT:
            // Fadeを明るくする
            fadeColor.a = 0f;
            // 開始時の透明度
            startFadeColorAlpha = 0f;
            // 終了時の透明度
            endFadeColorAlpha = 1f;
            // フェードアウトし終わるまでの時間を設定
            fadeTime = fadeOutTime;
            break;
        }
        fadeImage.color = fadeColor;
        // プラスとマイナスどちらへ変化するか
        var whereChangeValue = endFadeColorAlpha - startFadeColorAlpha;
        // 一秒ごとの透明度の変化量を計算
        var changeAlphaPer1SecondSpeed = whereChangeValue * (1 / fadeTime);

        while (true)
        {
            // 1フレームごとの変化量を計算
            var changeAlphaPer1FrameSpeed = changeAlphaPer1SecondSpeed * Time.deltaTime;
            // Fadeの透明度を変更
            fadeColor       = fadeImage.color;
            fadeColor.a    += changeAlphaPer1FrameSpeed;
            fadeImage.color = fadeColor;
            // 規定数値まで行ったら終了
            switch (fadeMode)
            {
            case FADEMODE.FADEIN:
                if (fadeColor.a < endFadeColorAlpha)
                {
                    fadeColor.a     = endFadeColorAlpha;
                    fadeImage.color = fadeColor;
                    yield break;
                }
                break;

            case FADEMODE.FADEOUT:
                if (fadeColor.a > endFadeColorAlpha)
                {
                    fadeColor.a     = endFadeColorAlpha;
                    fadeImage.color = fadeColor;
                    yield break;
                }
                break;
            }
            yield return(null);
        }
    }
예제 #7
0
	private void SetFadeMode( Transform trans, FADEMODE mode)
	{
		AsFadeObject fo = trans.GetComponent<AsFadeObject>();
		if( null != fo)
			fo.SetFadeMode( mode);

		int numChild = trans.childCount;
		for( int i = 0; i < numChild; i++)
		{
			Transform childTrans = trans.GetChild( i);

			fo = childTrans.GetComponent<AsFadeObject>();
			if( null != fo)
				fo.SetFadeMode( mode);

			SetFadeMode( childTrans, mode);
		}
	}