ฉันกำลังสร้างเกมง่ายๆและหนึ่งในปัญหาที่ฉันพบคือความล่าช้าที่น่ารำคาญเมื่อกดปุ่มอย่างต่อเนื่อง
ดังนั้นโดยทั่วไปเมื่อฉันกด (เป็นเวลานานมาก) ตัวอย่างเช่นUpวัตถุของฉันจะเคลื่อนที่ 1 หน่วยขึ้นไปไม่ขยับ (ประมาณ 1 วินาที) จากนั้นเลื่อนอย่างต่อเนื่อง 1 หน่วยขึ้นไป (โดยไม่ล่าช้า)
ขณะนี้ฉันใช้สิ่งนี้เพื่อย้ายวัตถุ (SDL2):
while (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_UP:
//Move object 1 unit up
break;
//Other unrelated things omitted
}
break;
//Omitted other cases
}
}
สิ่งที่ฉันต้องการคือการลบความล่าช้าเพื่อให้วัตถุสามารถเคลื่อนที่Upได้อย่างรวดเร็วในทันที มีวิธีการทำเช่นนี้?