Пример #1
0
 public void Act(SpriteBatchObject sprite, long elapsedTime)
 {
     // 如果主角与地图上其它对象发生碰撞(以下分别验证)
     if (game.hero.IsCollision(sprite))
     {
         // 与敌人
         if (sprite is Enemy)
         {
             Enemy e = (Enemy)sprite;
             if (game.hero.Y() < e.Y())
             {
                 game.hero.SetForceJump(true);
                 game.hero.Jump();
                 game.RemoveTileObject(e);
             }
             else
             {
                 game.Damage();
             }
             // 与金币
         }
         else if (sprite is Coin)
         {
             Coin coin = (Coin)sprite;
             game.RemoveTileObject(coin);
             // 与加速道具
         }
         else if (sprite is Accelerator)
         {
             game.RemoveTileObject(sprite);
             Accelerator accelerator = (Accelerator)sprite;
             accelerator.Use(game.hero);
             // 与二次弹跳道具
         }
         else if (sprite is JumperTwo)
         {
             game.RemoveTileObject(sprite);
             JumperTwo jumperTwo = (JumperTwo)sprite;
             jumperTwo.Use(game.hero);
         }
     }
 }