// コンストラクタ

        public CAct演奏Combo共通()
        {
            this.b活性化してない = true;

            // 180度分のジャンプY座標差分を取得。(0度: 0 → 90度:-15 → 180度: 0)
            for (int i = 0; i < 180; i++)
            {
                this.nジャンプ差分値[i] = (int)(-15.0 * Math.Sin((Math.PI * i) / 180.0));
            }
            演奏判定ライン座標 = new C演奏判定ライン座標共通();
        }
Beispiel #2
0
 public virtual int t進行描画(C演奏判定ライン座標共通 演奏判定ライン座標共通)
 {
     return(0);
 }
Beispiel #3
0
 public override int t進行描画(C演奏判定ライン座標共通 演奏判定ライン座標)
 {
     if (!base.b活性化してない)
     {
         for (int i = 0; i < 12; i++)
         {
             if (!base.st状態[i].ct進行.b停止中)
             {
                 base.st状態[i].ct進行.t進行();
                 if (base.st状態[i].ct進行.b終了値に達した)
                 {
                     base.st状態[i].ct進行.t停止();
                     base.st状態[i].b使用中 = false;
                 }
                 int num2 = base.st状態[i].ct進行.n現在の値;
                 if (base.st状態[i].judge != E判定.Great)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 15;
                     base.st状態[i].n透明度   = 0xff;
                 }
                 if ((base.st状態[i].judge != E判定.Miss) && (base.st状態[i].judge != E判定.Bad))
                 {
                     if (num2 < 20)
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 0;
                         base.st状態[i].n透明度   = 0xff;
                     }
                     else if (num2 < 40)
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 5;
                         base.st状態[i].n透明度   = 0xff;
                     }
                     else if (num2 >= 60)
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 10;
                         base.st状態[i].n透明度   = 0xff;
                     }
                     else
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 15;
                         base.st状態[i].n透明度   = 0xff;
                     }
                 }
                 if (num2 < 20)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 0;
                     base.st状態[i].n透明度   = 0xff;
                 }
                 else if (num2 < 40)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 5;
                     base.st状態[i].n透明度   = 0xff;
                 }
                 else if (num2 >= 60)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 10;
                     base.st状態[i].n透明度   = 0xff;
                 }
                 else
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 15;
                     base.st状態[i].n透明度   = 0xff;
                 }
             }
         }
         for (int j = 0; j < 12; j++)
         {
             if (!base.st状態[j].ct進行.b停止中)
             {
                 if (TJAPlayer3.Tx.Judge != null)
                 {
                     int baseX = 370;
                     //int baseY = 135;
                     int baseY = TJAPlayer3.Skin.Game_Lane_Field_Y[base.st状態[j].nPlayer] - 53;
                     int x     = TJAPlayer3.Skin.Game_Lane_Field_X[0] - TJAPlayer3.Tx.Judge.szテクスチャサイズ.Width / 2;
                     int y     = (baseY + base.st状態[j].n相対Y座標);
                     TJAPlayer3.Tx.Judge.t2D描画(TJAPlayer3.app.Device, x, y, base.st判定文字列[(int)base.st状態[j].judge].rc);
                 }
             }
         }
     }
     return(0);
 }
 public abstract void Start(int nLane, C演奏判定ライン座標共通 演奏判定ライン座標);
        // メソッド

        public virtual void Start(int nLane, int n中央X, int n中央Y, C演奏判定ライン座標共通 演奏判定ライン座標)
        {
        }
 public override int t進行描画(C演奏判定ライン座標共通 演奏判定ライン座標)
 {
     if (!base.b活性化してない)
     {
         for (int i = 0; i < 12; i++)
         {
             if (!base.st状態[i].ct進行.b停止中)
             {
                 base.st状態[i].ct進行.t進行();
                 if (base.st状態[i].ct進行.b終了値に達した)
                 {
                     base.st状態[i].ct進行.t停止();
                     base.st状態[i].b使用中 = false;
                 }
                 int num2 = base.st状態[i].ct進行.n現在の値;
                 if (base.st状態[i].judge != E判定.Great)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 15;
                     base.st状態[i].n透明度   = 0xff;
                 }
                 if ((base.st状態[i].judge != E判定.Miss) && (base.st状態[i].judge != E判定.Bad))
                 {
                     if (num2 < 20)
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 0;
                         base.st状態[i].n透明度   = 0xff;
                     }
                     else if (num2 < 40)
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 5;
                         base.st状態[i].n透明度   = 0xff;
                     }
                     else if (num2 >= 60)
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 10;
                         base.st状態[i].n透明度   = 0xff;
                     }
                     else
                     {
                         base.st状態[i].n相対X座標 = 0;
                         base.st状態[i].n相対Y座標 = 15;
                         base.st状態[i].n透明度   = 0xff;
                     }
                 }
                 if (num2 < 20)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 0;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 22.6)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 1;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 25.2)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 2;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 27.8)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 3;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 30.4)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 4;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 35.6)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 5;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 38.2)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 6;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 40.8)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 7;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 43.4)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 8;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 46)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 9;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 48.6)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 10;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 51.2)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 11;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 53.8)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 12;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 56.4)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 13;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 59)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 14;
                     base.st状態[i].n透明度   = 0;
                 }
                 else if (num2 >= 60)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 15;
                     base.st状態[i].n透明度   = 0;
                 }
                 else
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 20;
                     base.st状態[i].n透明度   = 0;
                 }
             }
         }
         for (int j = 0; j < 12; j++)
         {
             if (!base.st状態[j].ct進行.b停止中)
             {
                 int baseX = 370;
                 //int baseY = 135;
                 int baseY = TJAPlayer3.Skin.nScrollFieldY[base.st状態[j].nPlayer] - 58;
                 int x     = TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.Tx.Judge.szテクスチャサイズ.Width / 2;
                 int y     = (baseY + base.st状態[j].n相対Y座標);
                 if (TJAPlayer3.Tx.Judge != null)
                 {
                     TJAPlayer3.Tx.Judge.t2D描画(TJAPlayer3.app.Device, x, y, base.st判定文字列[(int)base.st状態[j].judge].rc);
                 }
             }
         }
     }
     return(0);
 }
Beispiel #7
0
 public override int t進行描画(C演奏判定ライン座標共通 演奏判定ライン座標)
 {
     if (!base.b活性化してない)
     {
         for (int i = 0; i < 12; i++)
         {
             if (!base.st状態[i].ct進行.b停止中)
             {
                 base.st状態[i].ct進行.t進行();
                 if (base.st状態[i].ct進行.b終了値に達した)
                 {
                     base.st状態[i].ct進行.t停止();
                     base.st状態[i].b使用中 = false;
                 }
                 int num2 = base.st状態[i].ct進行.n現在の値;
                 if (base.st状態[i].judge != E判定.Great)
                 {
                     base.st状態[i].n相対X座標 = 0;
                     base.st状態[i].n相対Y座標 = 0;
                     base.st状態[i].n透明度   = 0xff;
                 }
                 if ((base.st状態[i].judge != E判定.Miss) && (base.st状態[i].judge != E判定.Bad))
                 {
                     if (num2 < 5)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = 0;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 10)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -3;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 15)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -6;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 20)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -9;
                         this.st状態[i].n透明度   = 255;
                     }
                     else if (num2 < 25)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -12;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 30)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -15;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 35)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -12;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 40)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -9;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 45)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -6;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 50)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -3;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 55)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -6;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 60)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -4;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 65)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = -2;
                         this.st状態[i].n透明度   = 0;
                     }
                     else if (num2 < 70)
                     {
                         this.st状態[i].n相対X座標 = 0;
                         this.st状態[i].n相対Y座標 = 0;
                         this.st状態[i].n透明度   = 0;
                     }
                 }
                 if (num2 < 5)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = 0;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 10)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -3;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 15)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -6;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 20)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -9;
                     this.st状態[i].n透明度   = 255;
                 }
                 else if (num2 < 25)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -12;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 30)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -15;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 35)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -12;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 40)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -9;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 45)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -6;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 50)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -3;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 55)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -6;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 60)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -4;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 65)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = -2;
                     this.st状態[i].n透明度   = 0;
                 }
                 else if (num2 < 70)
                 {
                     this.st状態[i].n相対X座標 = 0;
                     this.st状態[i].n相対Y座標 = 0;
                     this.st状態[i].n透明度   = 0;
                 }
             }
         }
         for (int j = 0; j < 12; j++)
         {
             if (!base.st状態[j].ct進行.b停止中)
             {
                 int baseX = 370;
                 //int baseY = 135;
                 int baseY = TJAPlayer3.Skin.nScrollFieldY[base.st状態[j].nPlayer] - 43;
                 int x     = TJAPlayer3.Skin.nScrollFieldX[0] - TJAPlayer3.Tx.Judge.szテクスチャサイズ.Width / 2;
                 int y     = (baseY + base.st状態[j].n相対Y座標);
                 if (TJAPlayer3.Tx.Judge != null)
                 {
                     TJAPlayer3.Tx.Judge.Opacity = base.st状態[j].ct進行.n現在の値 >= 150 ? (int)(255 - (base.st状態[j].ct進行.n現在の値 - 150) * 1.7) : 255;
                     TJAPlayer3.Tx.Judge.t2D描画(TJAPlayer3.app.Device, x, y, base.st判定文字列[(int)base.st状態[j].judge].rc);
                 }
             }
         }
     }
     return(0);
 }