Tôi đang phát triển một nền tảng RPG một người chơi trong XNA 4.0. Tôi muốn thêm một khả năng khiến thời gian "dừng lại" hoặc chậm lại và chỉ có nhân vật người chơi di chuyển ở tốc độ ban đầu (tương tự như phép thuật Dừng thời gian từ loạt Cổng hói). Tôi không tìm kiếm một triển khai chính xác, thay vào đó là một số ý tưởng chung và các mẫu thiết kế.
EDIT: Cảm ơn tất cả cho đầu vào tuyệt vời. Tôi đã đưa ra giải pháp sau đây
public void Update(GameTime gameTime)
{
GameTime newGameTime = new GameTime(gameTime.TotalGameTime,
new TimeSpan(gameTime.ElapsedGameTime.Ticks / DESIRED_TIME_MODIFIER));
gameTime = newGameTime;
hoặc một cái gì đó dọc theo những dòng này. Bằng cách này, tôi có thể đặt thời gian khác cho thành phần người chơi và khác với phần còn lại. Nó chắc chắn không đủ phổ biến để làm việc cho một trò chơi trong đó thời gian cong vênh như thế này sẽ là một yếu tố trung tâm, nhưng tôi hy vọng nó sẽ hoạt động trong trường hợp này. Tôi không thích thực tế là nó tạo ra vòng lặp Cập nhật chính, nhưng chắc chắn đó là cách dễ nhất để thực hiện nó. Tôi đoán đó là điều cần thiết giống như t shipode đã đề xuất, vì vậy tôi sẽ cho anh ta đánh dấu màu xanh lá cây :)