Ejemplo n.º 1
0
 public override void Fire(Vector2D positon, double elapsedTime)
 {
     Level0_Fire0.currentTick += 1;
     Level0_Fire1.currentTick += 1;
     switch (level)
     {
     case 0:                                          //等级0 时的发射表
         if (Level0_Fire0.currentTick >= Level0_Fire0.allTick)
         {
             Bullet b;
             b            = new ReimuBullet_Dir(Stage1State._textureManager, new Vector2D(0, 1));
             b.Position.X = positon.X - 10;
             b.Position.Y = positon.Y + 10;
             bullets_toAdd.Add(b);
             b            = new ReimuBullet_Dir(Stage1State._textureManager, new Vector2D(0, 1));
             b.Position.X = positon.X + 10;
             b.Position.Y = positon.Y + 10;
             bullets_toAdd.Add(b);
             Level0_Fire0.currentTick = 0;             //刷新发射帧数计时器
         }
         if (Level0_Fire1.currentTick >= Level0_Fire1.allTick)
         {
             Bullet b = new ReimuBullet_Follow(Stage1State._textureManager, new Vector2D(-1, 3).GetNormalize());
             b.Position.X = positon.X - 15;
             b.Position.Y = positon.Y + 10;
             bullets_toAdd.Add(b);
             b            = new ReimuBullet_Follow(Stage1State._textureManager, new Vector2D(1, 3).GetNormalize());
             b.Position.X = positon.X + 15;
             b.Position.Y = positon.Y + 10;
             bullets_toAdd.Add(b);
             Level0_Fire1.currentTick = 0;              //refresh
         }
         break;
     }
 }
Ejemplo n.º 2
0
        public override void Fire(Vector2D positon, double elapsedTime)
        {
            Level0_Fire0.currentTick += 1;
            Level0_Fire1.currentTick += 1;
            switch (level)
            {
                case 0:                                      //等级0 时的发射表
                    if (Level0_Fire0.currentTick >= Level0_Fire0.allTick)
                    {
                        Bullet b;
                        b = new ReimuBullet_Dir(Stage1State._textureManager, new Vector2D(0, 1));
                        b.Position.X = positon.X - 10;
                        b.Position.Y = positon.Y + 10;
                        bullets_toAdd.Add(b);
                        b = new ReimuBullet_Dir(Stage1State._textureManager, new Vector2D(0, 1));
                        b.Position.X = positon.X + 10;
                        b.Position.Y = positon.Y + 10;
                        bullets_toAdd.Add(b);
                        Level0_Fire0.currentTick = 0;         //刷新发射帧数计时器
                    }
                    if (Level0_Fire1.currentTick >= Level0_Fire1.allTick)
                    {
                        Bullet b = new ReimuBullet_Follow(Stage1State._textureManager, new Vector2D(-1, 3).GetNormalize());
                        b.Position.X = positon.X - 15;
                        b.Position.Y = positon.Y + 10;
                        bullets_toAdd.Add(b);
                        b = new ReimuBullet_Follow(Stage1State._textureManager, new Vector2D(1, 3).GetNormalize());
                        b.Position.X = positon.X + 15;
                        b.Position.Y = positon.Y + 10;
                        bullets_toAdd.Add(b);
                        Level0_Fire1.currentTick = 0;          //refresh
                    }

                    break;
            }
        }