4
จะเขียนโค้ด Time Stop หรือ Bullet Time ในเกมได้อย่างไร?
ฉันกำลังพัฒนา 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 แนะนำดังนั้นฉันจะให้เห็บสีเขียวแก่เขา :)
11
xna
time-travel