what?
1.ใช้ switch ในการเปลี่ยนเฟรม
โดย กำหนด if(mousePressed){num=1;}
เมื่อ frame แรกมีค่า num = 0;
แล้ว เมื่อรันโปรมแกรมแล้วคลิ๊ก
frame ต่อไปที่แสดงไม่เป็นไปตามเงื่อนไขที่กำหนด
2.เมื่อนำ frame ทุก frame มารวมกันโดยใช้คำสั่ง switch
ภาพบางจุดของ frame 2 และ 3 ไม่ขยับตามคำสั่ง
why?
เนื่องจาก ฟังก์ชัน mousePressed เป็นฟังก์ชัน
ที่จะต้องมีการกด mouse ก่อน(กำหนดให้ mousePressed = true)
แต่เมื่อเรากดความเร็วในการรับค่าจากการออกแรงกดเพียง1ที
อาจมากกว่าที่เรากด mouse ทำให้ลำดับขั้นตอนของแต่ละเฟรมที่แสดงนั้น
เปลี่ยนไปอย่างรวดเร็ว จนบางครั้งดูไม่ทันว่าเฟรมนั้นๆถูกแสดงไม่หรือยัง
hot to fix?
เปลี่ยนจากการใช้เงื่อนไข
if(mousePressed){num=1;}
if(mousePressed){num=2;}
if(mousePressed){num=3;}
if(mousePressed){num=4;}
if(mousePressed){num=5;}
เป็น
void mousePressed() { switch(num) { case 0: num = 1; break; case 1: num = 2; break; case 2: num = 3; break; case 3: num = 4; break; case 4: num = 5; break; case 5: num = 0; break; } }
ไม่มีความคิดเห็น:
แสดงความคิดเห็น