コード例 #1
0
 public void ヒットアニメ開始(表示レーン種別 lane)
 {
     this._振動パラメータ[lane] = new 振動パラメータ {
         カウンタ = new Counter(0, 100, 3),
         振動幅  = 0f,
     };
 }
コード例 #2
0
        private void _アニメチップを1つ描画する(DeviceContext d2ddc, 表示レーン種別 lane, RectangleF 転送元矩形, float Y, Size2F 大きさ0to1, float 消滅割合)
        {
            float X倍率 = 大きさ0to1.Width;
            float Y倍率 = 大きさ0to1.Height;

            // Bass は縦方向に少し大きめに。
            if (lane == 表示レーン種別.Bass)
            {
                Y倍率 *= 1.2f;
            }

            X倍率 *= (1f - 消滅割合) * _チップの最終調整倍率;
            Y倍率 *= (1f - 消滅割合) * _チップの最終調整倍率;

            const float チップ1枚の高さ = 18f;

            転送元矩形.Offset(0f, this._ドラムチップアニメ.現在値 * 15f);     // 下端3pxは下のチップと共有する前提のデザインなので、18f-3f = 15f。
            転送元矩形.Height = チップ1枚の高さ;

            this._ドラムチップ画像.描画する(
                d2ddc,
                左位置: レーンフレーム.レーン中央位置X[lane] - (転送元矩形.Width * X倍率 / 2f),
                位置: Y - (チップ1枚の高さ * Y倍率 / 2f),
                転送元矩形: 転送元矩形,
                X方向拡大率: X倍率,
                Y方向拡大率: Y倍率);
        }
コード例 #3
0
            public 表示レーンステータス(表示レーン種別 lane)
            {
                this.現在の状態 = 状態.非表示;

                // 表示中央位置は、レーンごとに固定。
                this.表示中央位置dpx = new Vector2(レーンフレーム.レーン中央位置X[lane], 演奏ステージ.ヒット判定位置Ydpx);
            }
コード例 #4
0
            public 表示レーンステータス(表示レーン種別 lane)
            {
                this.現在の状態 = 状態.非表示;

                // 表示中央位置は、レーンごとに固定。
                float x = レーンフレーム.領域.Left + レーンフレーム.レーンtoチップの左端位置dpx[lane] + レーンフレーム.レーンtoレーン幅dpx[lane] / 2f;

                switch (lane)
                {
                case 表示レーン種別.LeftCrash: this.表示中央位置dpx = new Vector2(x, 530f); break;

                case 表示レーン種別.HiHat: this.表示中央位置dpx = new Vector2(x, 597f); break;

                case 表示レーン種別.Foot: this.表示中央位置dpx = new Vector2(x, 636f); break;

                case 表示レーン種別.Snare: this.表示中央位置dpx = new Vector2(x, 597f); break;

                case 表示レーン種別.Bass: this.表示中央位置dpx = new Vector2(x, 635f); break;

                case 表示レーン種別.Tom1: this.表示中央位置dpx = new Vector2(x, 561f); break;

                case 表示レーン種別.Tom2: this.表示中央位置dpx = new Vector2(x, 561f); break;

                case 表示レーン種別.Tom3: this.表示中央位置dpx = new Vector2(x, 600f); break;

                case 表示レーン種別.RightCrash: this.表示中央位置dpx = new Vector2(x, 533f); break;

                default: this.表示中央位置dpx = new Vector2(x, -100f); break;
                }
            }
コード例 #5
0
ファイル: 判定文字列.cs プロジェクト: zoujuny/DTXMania2
        // 表示開始


        public void 表示を開始する(表示レーン種別 lane, 判定種別 judge)
        {
            var status = this._レーンtoステータス[lane];

            status.判定種別  = judge;
            status.現在の状態 = 表示レーンステータス.状態.表示開始;  // 描画スレッドへ通知。
        }
コード例 #6
0
ファイル: 判定文字列.cs プロジェクト: DTXMania/DTXMania2
        // 表示開始


        public void 表示を開始する(表示レーン種別 lane, 判定種別 judge, double fastSlowSec)
        {
            var status = this._レーンtoステータス[lane];

            status.判定種別         = judge;
            status.FastSlow値sec = fastSlowSec;
            status.現在の状態        = 表示レーンステータス.状態.表示開始;
        }
コード例 #7
0
            public 表示レーンステータス(表示レーン種別 lane)
            {
                this.現在の状態 = 状態.非表示;

                // 表示中央位置は、レーンごとに固定。
                this.表示中央位置dpx = new Vector2(
                    レーンフレーム.領域.Left + レーンフレーム.現在のレーン配置.表示レーンの左端位置dpx[lane] + レーンフレーム.現在のレーン配置.表示レーンの幅dpx[lane] / 2f,
                    演奏ステージ.ヒット判定位置Ydpx);
            }
コード例 #8
0
ファイル: チップ光.cs プロジェクト: JustinRChou/DTXmatixx
            public 表示レーンステータス(表示レーン種別 lane)
            {
                this.現在の状態 = 状態.非表示;

                // 表示中央位置は、レーンごとに固定。
                this.表示中央位置dpx = new Vector2(
                    レーンフレーム.領域.Left + レーンフレーム.レーンtoチップの左端位置dpx[lane] + レーンフレーム.レーンtoレーン幅dpx[lane] / 2f,
                    演奏ステージ.ヒット判定バーの中央Y座標dpx);
            }
コード例 #9
0
            public 表示レーンステータス(表示レーン種別 lane)
            {
                this.現在の状態 = 状態.非表示;

                // 表示中央位置は、レーンごとに固定。

                if (App.ユーザ管理.ログオン中のユーザ.演奏モード == 設定.PlayMode.BASIC)
                {
                    this.表示中央位置dpx = new Vector2(
                        BASIC.レーンフレーム.領域.Left + BASIC.レーンフレーム.現在のレーン配置.表示レーンの左端位置dpx[lane] + BASIC.レーンフレーム.現在のレーン配置.表示レーンの幅dpx[lane] / 2f,
                        演奏ステージ.ヒット判定位置Ydpx);
                }
                if (App.ユーザ管理.ログオン中のユーザ.演奏モード == 設定.PlayMode.EXPERT)
                {
                    this.表示中央位置dpx = new Vector2(
                        EXPERT.レーンフレーム.レーン中央位置X[lane],
                        演奏ステージ.ヒット判定位置Ydpx);
                }
            }
コード例 #10
0
ファイル: 判定文字列.cs プロジェクト: DTXMania/DTXMania2
            public 表示レーンステータス(表示レーン種別 lane)
            {
                this.現在の状態 = 状態.非表示;

                float x = レーンフレーム.レーン中央位置X[lane];

                this.表示中央位置dpx = lane switch
                {
                    表示レーン種別.LeftCymbal => new Vector2(x, 530f),
                    表示レーン種別.HiHat => new Vector2(x, 597f),
                    表示レーン種別.Foot => new Vector2(x, 636f),
                    表示レーン種別.Snare => new Vector2(x, 597f),
                    表示レーン種別.Bass => new Vector2(x, 635f),
                    表示レーン種別.Tom1 => new Vector2(x, 561f),
                    表示レーン種別.Tom2 => new Vector2(x, 561f),
                    表示レーン種別.Tom3 => new Vector2(x, 600f),
                    表示レーン種別.RightCymbal => new Vector2(x, 533f),
                    _ => new Vector2(x, -100f),
                };
            }
コード例 #11
0
        private void _アニメチップを1つ描画する(表示レーン種別 lane, RectangleF 転送元矩形, float Y, float 大きさ0to1)
        {
            float X倍率 = 1f * _チップの最終調整倍率;
            float Y倍率 = 大きさ0to1 * _チップの最終調整倍率;

            if (lane == 表示レーン種別.Bass)
            {
                Y倍率 *= 1.2f;    // Bass は縦方向に少し大きめに。
            }
            const float チップ1枚の高さ = 18f;

            転送元矩形.Offset(0f, this._ドラムチップアニメ.現在値 * 15f);     // 下端3pxは下のチップと共有する前提のデザインなので、18f-3f = 15f。
            転送元矩形.Height = チップ1枚の高さ;

            this._ドラムチップ画像.描画する(
                左位置: レーンフレーム.レーン中央位置X[lane] - (転送元矩形.Width * X倍率 / 2f),
                位置: Y - (チップ1枚の高さ * Y倍率 / 2f),
                転送元矩形: 転送元矩形,
                X方向拡大率: X倍率,
                Y方向拡大率: Y倍率);
        }
コード例 #12
0
ファイル: 判定文字列.cs プロジェクト: zoujuny/DTXMania2
            public 表示レーンステータス(表示レーン種別 lane)
            {
                this.現在の状態 = 状態.非表示;

                // 表示中央位置は、レーンごとに固定。
                float x = 0f;

                if (App進行描画.ユーザ管理.ログオン中のユーザ.演奏モード == PlayMode.BASIC)
                {
                    x = BASIC.レーンフレーム.領域.Left + BASIC.レーンフレーム.現在のレーン配置.表示レーンの左端位置dpx[lane] + BASIC.レーンフレーム.現在のレーン配置.表示レーンの幅dpx[lane] / 2f;
                }

                if (App進行描画.ユーザ管理.ログオン中のユーザ.演奏モード == PlayMode.EXPERT)
                {
                    x = EXPERT.レーンフレーム.レーン中央位置X[lane];
                }

                switch (lane)
                {
                case 表示レーン種別.LeftCymbal: this.表示中央位置dpx = new Vector2(x, 530f); break;

                case 表示レーン種別.HiHat: this.表示中央位置dpx = new Vector2(x, 597f); break;

                case 表示レーン種別.Foot: this.表示中央位置dpx = new Vector2(x, 636f); break;

                case 表示レーン種別.Snare: this.表示中央位置dpx = new Vector2(x, 597f); break;

                case 表示レーン種別.Bass: this.表示中央位置dpx = new Vector2(x, 635f); break;

                case 表示レーン種別.Tom1: this.表示中央位置dpx = new Vector2(x, 561f); break;

                case 表示レーン種別.Tom2: this.表示中央位置dpx = new Vector2(x, 561f); break;

                case 表示レーン種別.Tom3: this.表示中央位置dpx = new Vector2(x, 600f); break;

                case 表示レーン種別.RightCymbal: this.表示中央位置dpx = new Vector2(x, 533f); break;

                default: this.表示中央位置dpx = new Vector2(x, -100f); break;
                }
            }
コード例 #13
0
        private void _単画チップを1つ描画する(表示レーン種別 lane, RectangleF 転送元矩形, float 位置, float 大きさ0to1)
        {
            float X倍率 = 1f;
            float Y倍率 = 大きさ0to1;

            if (lane == 表示レーン種別.LeftCymbal || lane == 表示レーン種別.RightCymbal)
            {
                // シンバルレーンは大きさの変化をより少なく、さらにX倍率もY倍率と同じにする。
                X倍率 = MathUtil.Clamp(大きさ0to1 * 2f, 0f, 1f);
                Y倍率 = MathUtil.Clamp(大きさ0to1 * 2f, 0f, 1f);
            }

            X倍率 *= _チップの最終調整倍率;
            Y倍率 *= _チップの最終調整倍率;

            this._ドラムチップ画像.描画する(
                左位置: レーンフレーム.レーン中央位置X[lane] - (転送元矩形.Width * X倍率 / 2f),
                位置:  位置 - (転送元矩形.Height * Y倍率 / 2f),
                転送元矩形: 転送元矩形,
                X方向拡大率: X倍率,
                Y方向拡大率: Y倍率);
        }
コード例 #14
0
        private const float _チップの最終調整倍率 = 1.2f; // 見た感じで決めた主観的な値。


        private void _単画チップを1つ描画する(DeviceContext d2ddc, 表示レーン種別 lane, RectangleF 転送元矩形, float 位置, Size2F 大きさ0to1, float 消滅割合)
        {
            float X倍率 = 大きさ0to1.Width;
            float Y倍率 = 大きさ0to1.Height;

            // シンバルレーンは大きさの変化をより少なく、さらにX倍率もY倍率と同じにする。
            if (lane == 表示レーン種別.LeftCymbal || lane == 表示レーン種別.RightCymbal)
            {
                X倍率 = MathUtil.Clamp(大きさ0to1.Width * 2f, min: 0f, max: 1f);
                Y倍率 = MathUtil.Clamp(大きさ0to1.Height * 2f, min: 0f, max: 1f);
            }

            X倍率 *= (1f - 消滅割合) * _チップの最終調整倍率;
            Y倍率 *= (1f - 消滅割合) * _チップの最終調整倍率;

            this._ドラムチップ画像.描画する(
                d2ddc,
                左位置: レーンフレーム.レーン中央位置X[lane] - (転送元矩形.Width * X倍率 / 2f),
                位置:  位置 - (転送元矩形.Height * Y倍率 / 2f),
                転送元矩形: 転送元矩形,
                X方向拡大率: X倍率,
                Y方向拡大率: Y倍率);
        }
コード例 #15
0
 public void 開始する(表示レーン種別 laneType)
 {
     this._フラッシュ情報[laneType].開始する(0, 10, 15);
 }
コード例 #16
0
        // ヒット


        public void ヒットする(表示レーン種別 lane)
        {
            this._レーンtoパッドContext[lane].アニメカウンタ.開始する(0, 100, 1);
        }
コード例 #17
0
 public void 開始する(表示レーン種別 lane)
 {
     this._レーンtoレーンContext[lane].アニメカウンタ.開始する(0, 250, 1);
 }
コード例 #18
0
ファイル: チップ光.cs プロジェクト: DTXMania/DTXMania2
        // 表示開始


        public void 表示を開始する(表示レーン種別 lane)
        {
            this._レーンtoステータス[lane].現在の状態 = 表示レーンステータス.状態.表示開始;
        }