ฉันกำลังพัฒนา platformer RPG ผู้เล่นเดี่ยวใน XNA 4.0 ฉันต้องการเพิ่มความสามารถที่จะทำให้เวลา "หยุด" หรือช้าลงและมีเพียงตัวละครของผู้เล่นที่เคลื่อนที่ด้วยความเร็วดั้งเดิม (คล้ายกับคาถา Time Stop จากซีรี่ส์ประตู Baldur) ฉันไม่ได้มองหาการใช้งานที่แน่นอน แต่เป็นแนวคิดและรูปแบบการออกแบบทั่วไป
แก้ไข: ขอบคุณทุกท่านสำหรับการป้อนข้อมูลที่ยอดเยี่ยม ฉันคิดวิธีแก้ปัญหาต่อไปนี้ขึ้นมา
public void Update(GameTime gameTime)
{
GameTime newGameTime = new GameTime(gameTime.TotalGameTime,
new TimeSpan(gameTime.ElapsedGameTime.Ticks / DESIRED_TIME_MODIFIER));
gameTime = newGameTime;
หรือบางสิ่งบางอย่างตามสายเหล่านี้ ด้วยวิธีนี้ฉันสามารถตั้งเวลาที่แตกต่างกันสำหรับองค์ประกอบผู้เล่นและแตกต่างกันสำหรับส่วนที่เหลือ แน่นอนว่ามันไม่เป็นสากลมากพอที่จะทำงานให้กับเกมที่เวลาการแปรปรวนเช่นนี้จะเป็นองค์ประกอบสำคัญ แต่ฉันหวังว่ามันจะทำงานได้ดีในกรณีนี้ ฉันไม่ชอบความจริงที่ว่ามันเพิ่มลูปอัปเดตหลัก แต่ก็เป็นวิธีที่ง่ายที่สุดในการติดตั้ง ฉันเดาว่าสำคัญมากเหมือนกับที่ tesselode แนะนำดังนั้นฉันจะให้เห็บสีเขียวแก่เขา :)