พิกเซลเปิดหรือปิด จำนวนขั้นต่ำที่คุณสามารถเคลื่อนย้ายสไปรท์คือพิกเซลเดียว ดังนั้นวิธีที่คุณทำให้สไปรต์เคลื่อนที่ช้ากว่า 1 พิกเซลต่อเฟรม?
วิธีที่ฉันทำคือเพิ่มความเร็วให้กับตัวแปรแล้วทดสอบว่ามีค่าถึง 1 (หรือ -1) ถ้าเป็นเช่นนั้นฉันจะย้ายสไปรต์และรีเซ็ตตัวแปรเป็น 0 เช่น:
update(dt):
temp_dx += speed * dt
temp_dy += speed * dt
if (temp_dx > 1)
move sprite
reset temp_dx to 0
if (tempy_dy > 1)
move sprite
reset temp_dy to 0
ฉันไม่ชอบวิธีการนี้เพราะรู้สึกว่าโง่และการเคลื่อนไหวของสไปรต์นั้นดูกระตุกมาก ดังนั้นคุณจะใช้การเคลื่อนไหวย่อยพิกเซลในทางใด