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); } } }