Beispiel #1
0
    /// <summary>
    /// SEを再生する
    /// </summary>
    /// <param name="aFileName">ファイルへのパス("resources/sound/se" + X)</param>
    static public void playSe(string aFileName)
    {
        //音声ロード
        AudioSource tAudio = MyBehaviour.create <AudioSource>();

        tAudio.name = "SE : " + aFileName;
        tAudio.clip = Resources.Load <AudioClip>("sound/se/" + aFileName);
        if (tAudio.clip == null)
        {
            //音声のロードに失敗
            Debug.Log("音声のロードに失敗 : " + "「sound/se/" + aFileName + "」");
            return;
        }
        tAudio.Play();
        //再生終了したら削除
        MyBehaviour tBehaviour = tAudio.gameObject.AddComponent <MyBehaviour>();
        Coroutine   tCoroutine = null;

        tCoroutine = tBehaviour.runCoroutine(() => {
            if (!tAudio.isPlaying)
            {
                tBehaviour.StopCoroutine(tCoroutine);
                tBehaviour.delete();
            }
        });
    }
Beispiel #2
0
    /// <summary>
    /// BGMを再生する
    /// </summary>
    /// <param name="aFilePath">resources/sound/bgm/ + aFilePath</param>
    public static void playBgm(string aFilePath, LoopType aLoopType = LoopType.normalConnect, float aVolume = 1)
    {
        if (mBgm == null)
        {
            mBgm      = MyBehaviour.create <AudioSource>();
            mBgm.name = "BGM AudioSource";
            mBgm.gameObject.AddComponent <MyBehaviour>();
            GameObject.DontDestroyOnLoad(mBgm);
        }

        mBgm.clip   = Resources.Load <AudioClip>("sound/bgm/" + aFilePath);
        mBgm.time   = 0;
        mBgm.volume = aVolume;
        mBgm.Play();
        MyBehaviour tBehaviour = mBgm.gameObject.GetComponent <MyBehaviour>();

        if (mBgmLoopCoroutine != null)
        {
            tBehaviour.StopCoroutine(mBgmLoopCoroutine);
        }
        switch (aLoopType)
        {
        case LoopType.normalConnect:
            mBgmLoopType      = aLoopType;
            mBgmLoopCoroutine = tBehaviour.StartCoroutine(runNormalConnect(mBgm));
            break;
        }
    }
Beispiel #3
0
 public void pause()
 {
     mPlayer.pause();
     if (mAdjustScoreCoroutine != null)
     {
         mBehaviour.StopCoroutine(mAdjustScoreCoroutine);
     }
     mAdjustScoreCoroutine = null;
     if (mMoveScoreCoroutine != null)
     {
         mScore.StopCoroutine(mMoveScoreCoroutine);
     }
     mMoveScoreCoroutine = null;
 }
Beispiel #4
0
    /// <summary>
    /// BGMをフェードする
    /// </summary>
    /// <param name="aDuration">フェード時間(s)</param>
    /// <param name="aVolume">フェード後のボリューム</param>
    public static Coroutine fadeBgm(float aDuration, float aVolume, Action aCallback = null)
    {
        MyBehaviour tBehaviour = mBgm.GetComponent <MyBehaviour>();

        if (tBehaviour == null)
        {
            tBehaviour = mBgm.gameObject.AddComponent <MyBehaviour>();
        }

        if (mBgmFadeCoroutine != null)
        {
            tBehaviour.StopCoroutine(mBgmFadeCoroutine);
        }
        mBgmFadeCoroutine = tBehaviour.StartCoroutine(fadeBgmCoroutine(mBgm, aVolume, aDuration, aCallback));
        return(mBgmFadeCoroutine);
    }