/// <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(); } }); }
/// <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; } }
public void pause() { mPlayer.pause(); if (mAdjustScoreCoroutine != null) { mBehaviour.StopCoroutine(mAdjustScoreCoroutine); } mAdjustScoreCoroutine = null; if (mMoveScoreCoroutine != null) { mScore.StopCoroutine(mMoveScoreCoroutine); } mMoveScoreCoroutine = null; }
/// <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); }