ภายในลูปเกมเกมหยุดชั่วคราวโดยการกด P ซึ่งหมายความว่าลูปเกมจะไม่ทำงานอีกต่อไป ปัญหาคือหลังจากหยุดลูปนี้แล้วไม่สามารถกด P อีกครั้งเพื่อกลับมาเล่นลูปต่อได้เนื่องจากอยู่ในลูปเอง จะทำอย่างไรเพื่อให้เมื่อกด P อีกครั้งจะทำให้ลูปทำงานอีกครั้ง
ภายในลูปเกมเกมหยุดชั่วคราวโดยการกด P ซึ่งหมายความว่าลูปเกมจะไม่ทำงานอีกต่อไป ปัญหาคือหลังจากหยุดลูปนี้แล้วไม่สามารถกด P อีกครั้งเพื่อกลับมาเล่นลูปต่อได้เนื่องจากอยู่ในลูปเอง จะทำอย่างไรเพื่อให้เมื่อกด P อีกครั้งจะทำให้ลูปทำงานอีกครั้ง
คำตอบ:
อย่าหยุดวงเกมจริงเมื่อหยุดเกมชั่วคราว แต่คุณต้องเพิ่มตัวแปรบูลซึ่งเปลี่ยนเป็นจริง / เท็จขึ้นอยู่กับว่าเกมหยุดชั่วคราวหรือไม่ หากเกมหยุดชั่วคราวคุณจะต้องหยุดอัปเดตเกม แต่คุณยังคงสามารถแสดงเฟรมปัจจุบันรวมถึงรับการอัปเดตจากอินพุตได้
if(gameIsPaused == false)
{
// run updates
}
checkInput();
render();
checkInput
/ ชุดrender
/ การupdate
โทรอื่นได้
ทำให้การกด P สลับไปยังวงอื่นที่จัดการสถานะเกม "หยุดชั่วคราว" และอนุญาตให้เปลี่ยนกลับไปเป็นวงเกมดั้งเดิมโดยกด P อีกครั้ง
คุณสามารถใส่สิ่งนี้ลงในลูปเกมเองและแนะนำตัวแปรสถานะหากคุณต้องการและแทนที่จะปิดการวนซ้ำตัวแปรสถานะจะสลับระหว่างการดำเนินการของรหัสเฉพาะของแต่ละรัฐภายในลูป
checkInput
ฟังก์ชั่นที่แตกต่างกันสำหรับโหมดหยุดชั่วคราวและโหมดหยุดชั่วคราวเนื่องจากอาจมีการควบคุมบางอย่างที่ใช้ได้เฉพาะในโหมดเดียวหรือโหมดอื่นcheckInput
ฟังก์ชั่นสำหรับโหมดหยุดชั่วคราวอาจจะทำอะไรมากไปกว่าการมองถ้าP
ถูกกดและการตั้งค่าแล้วgameIsPaused = false
แต่บางเกมยังเป็นสถานที่การทำงานนอกจากนี้บนหน้าจอหยุดชั่วคราว (ในยุค 90 มันเป็นที่นิยมที่จะมีหน้าจอหยุดชั่วคราวเป็น input ซ่อนรหัสโกงที่ทันสมัย เกมที่ชอบรวมเข้ากับหน้าจอเมนู)