示例#1
0
        public void Update()
        {
            Input.Update();

            Camera.Update();

            if (Input.Jump())
            {
                if (Paused)
                {
                    Reset();
                }
                else
                {
                    if (Player.Jump())
                    {
                        JumpSound.Play();
                    }
                }
            }

            if (Paused)
            {
                return;
            }

            BG.Update();
            Road.Update();
            Foreground.Update();

            for (int i = 0; i < Obstacles.Count; i++)
            {
                Obstacles[i].Update();
                if (!Obstacles[i].Active)
                {
                    Obstacles.RemoveAt(i--);
                    score++;
                    Coin.Play();
                }
            }

            Player.Update();

            if (counter++ >= 60)
            {
                AddObstacle();
                counter = 0;
            }

            if (CheckCollisions())
            {
                Die();
            }
        }