Exemple #1
0
        /// <summary>
        /// 指定の確率で当たるか取得する
        /// </summary>
        /// <param name="probability">確率(割合:40%なら0.4)</param>
        /// <returns></returns>
        public static bool GetRand(float probability)
        {
            //割合が1.0以上であれば、必ず当たる
            if (probability >= 1.0f)
            {
                return(true);
            }

            //割合が0.0以下であれば、必ず外れる
            if (probability <= 0.0f)
            {
                return(false);
            }

            //ランダムMAX値
            float RandMax = FPS.GetInstance().GetValue() * 10000.0f;

            //ランダム値取得
            int rand = DX.GetRand((int)RandMax);

            //全体の割合が確立以下であれば、当たっている
            if (rand / RandMax < probability)
            {
                return(true);
            }

            return(false);
        }
Exemple #2
0
        /// <summary>
        /// 動画停止(音量をフェードアウト)
        /// </summary>
        /// <param name="milliTime">フェードアウトする時間(ミリ秒)</param>
        public void StopMovie(int milliTime)
        {
            //最初のフェードアウト処理のとき
            if (this.fadeOutCnt == 0)
            {
                float MilliSec = 1000.0f;   //1秒は1000ミリ秒

                //流し続ける時間=秒数×FPS値
                //例)60FPSのゲームで、1秒間流し続けるなら、1秒×60FPS
                float UpdateTime = (milliTime / MilliSec) * FPS.GetInstance().GetValuef();    //この時間がMAX

                //フェードアウトのカウンタ設定
                this.fadeOutCnt    = 0;
                this.fadeOutCntMax = (int)UpdateTime;

                this.ChangeVolume(this.volume); //音量をMAXにする

                this.IsfadeOutEnd = false;      //フェードアウト開始
            }

            //フェードアウトしているとき(フェードアウトのMAX値以下ならば)
            if (this.fadeOutCnt >= 0 && this.fadeOutCnt < this.fadeOutCntMax)
            {
                //カウンタを上げる
                this.fadeOutCnt++;

                //(MAX時間-現在のカウント時間)÷MAX時間で、音量の全体割合を計算
                float CalcVolume = ((float)this.fadeOutCntMax - (float)this.fadeOutCnt) / (float)this.fadeOutCntMax * 255;

                //読み込み時に設定した音量は超えないように注意すること!
                if (CalcVolume >= this.volume)
                {
                    CalcVolume = this.volume;
                }

                //音量を下げる
                this.ChangeVolume((int)CalcVolume);
            }
            else
            {
                //動画をポーズ
                DX.PauseMovieToGraph(this.handle);

                this.IsfadeOutEnd = true;   //フェードアウト終了
            }
            return;
        }
Exemple #3
0
        /// <summary>
        /// 初期化のオーバーロード
        /// </summary>
        public void Start(CHANGE_KIND fade_kind = CHANGE_KIND.fadeOut)
        {
            //ミリ秒からフレーム数に変換
            this.fadeTimeMax = (int)((Game.GetInstance().fadeTimeMill / MiLLSec) * FPS.GetInstance().GetValuef());

            //フェードアウト
            this.fadeOutCntInit = 0;
            this.fadeOutCnt     = fadeOutCntInit;
            this.fadeOutCntMAX  = (int)fadeTimeMax;

            //フェードイン
            this.fadeInCntInit = (int)fadeTimeMax;
            this.fadeInCnt     = fadeInCntInit;
            this.fadeInCntMAX  = 0;

            //画面切り替えの種類
            this.fadeKind = fade_kind;
            this.IsFade   = false;

            //切り替え処理に入った
            Game.GetInstance().FlgChangeScene = false;

            return;
        }
Exemple #4
0
 /// <summary>
 /// ゲームシーンの情報を描画する(クラス内部・派生クラスからアクセス可能)
 /// </summary>
 protected void DrawSceneInfo()
 {
     this.DrawSceneName(0, 0);
     FPS.GetInstance().DrawFPS(0, Game.GetInstance().HEIGHT - 20, true);
 }