コード例 #1
0
        protected override void InitializeWorld()
        {
            World.SetWorldCoordinate(new Vector2(-5f, -5f), (1.5f * kDistanceCovered + 5f));
            DrawGrid();

            mRoad = new MyRoad(kInitPosition);
            mBall = new MySoccer(kInitPosition, mRoad);

            mDir = new Vector2(1, 0);

            mBall.TopOfAutoDrawSet();
        }
コード例 #2
0
        protected override void UpdateWorld()
        {
            if (GamePad.ButtonBackClicked())
            {
                Exit();
            }

            #region add a new road segment
            if (GamePad.ButtonAClicked())
            {
                mRoad.FinalizeRoadSegment(mDir, mLength);
            }
            #endregion

            #region Update vectorDir and size by thumbSticks
            mDir           += GamePad.ThumbSticks.Right;
            mLength        += GamePad.ThumbSticks.Left.Y;
            mTicksToTravel += GamePad.ThumbSticks.Left.X;
            mRoad.UpdateRoadSegment(mDir, mLength);
            mBall.TopOfAutoDrawSet();
            #endregion

            #region tell the Ball to update itself
            mTicksHasPassed++;
            if (mBall.Update(mTicksToTravel))
            {
                mTicksHasPassed = 0;
            }
            #endregion

            #region restart ...
            if (GamePad.ButtonBClicked())
            {
                mRoad.ResetRoad();
                mBall.ResetBallPosition();
            }
            #endregion

            EchoToTopStatus("Number of updates to travel each segment:" + mTicksToTravel + "  NumHasPassed(" + mTicksHasPassed + ")");
            EchoToBottomStatus("Vector Direction" + mDir + " Size: " + mLength);
        }