示例#1
0
        public static void Update()
        {
            ElapsedGameTime = (int)GameTime.ElapsedMilliseconds;
            GameTime.Restart();

            if (EditorMode == false)
            {
                ScreenManager.Update();
            }
        }
示例#2
0
        private static void Update()
        {
            //Gán thời gian stopwatch chạy được từ lần chạy Update trước đến hiện tại vào biến ElapsedGameTime
            //Reset stopwatch về 0 rồi cho đếm lại
            //Biến ElapsedGameTime sẽ được sử dụng trong hàm Update() của các thứ khác, để xác định xem khi nó được chạy từ lần này đến lần tiếp theo đã bao nhiêu thời gian trôi qua rồi
            ElapsedGameTime = (int)GameTime.ElapsedMilliseconds;
            if (ElapsedGameTime < FrameInterval)
            {
                //Chế ngự ko cho chạy nhanh quá
                //Set 1 giây chạy tối đa bao nhiêu frame (bao nhiêu vòng lặp) ở Globals.MAX_FRAME_PER_SECOND
                Thread.Sleep(FrameInterval - ElapsedGameTime);
                ElapsedGameTime = FrameInterval;
            }
            fps.Text = ElapsedGameTime.ToString();
            GameTime.Restart();

            //Chạy Update của ScreenManager
            //ScreenManager sẽ lặp tất cả các Screen đang có và chạy hàm Update() của từng Screen
            ScreenManager.Update();

            //Chạy Update của SoundManager
            SoundManager.Update();
        }