การหมุนในเกม
- หน้าก่อนหน้า การกระเด็นในเกม
- หน้าต่อไป การเคลื่อนไหวในเกม
วงกลมแดงสามารถหมุนได้
หมุนส่วนประกอบ
ในส่วนของบทความก่อนหน้านี้ วงกลมแดงสามารถเคลื่อนที่ได้บนพื้นที่เกม แต่ไม่สามารถหมุนหรือหมุนได้
เพื่อหมุนส่วนประกอบ เราจำเป็นต้องเปลี่ยนวิธีการวาดส่วนประกอบ
วิธีการหมุนที่เป็นไปได้สำหรับประกอบแผงวาดคือการหมุนกระดานวาดทั้งหมด

ทุกสิ่งที่คุณวาดบนกระดานวาดจะหมุนตาม ไม่ได้เพียงส่วนประกอบเดียว
ที่ทำให้เราจำเป็นต้องใช้ update()
วิธีนี้ทำการเปลี่ยนแปลงบางอย่าง
หลังจากนั้นเรากู้เอกสารภาพกระดานวาดปัจจุบัน
ctx.save();
หลังจากนั้นเราใช้วิธี translate ที่จะย้ายกระดานวาดทั้งหมดไปที่ศูนย์กลางของส่วนประกอบ
ctx.translate(x, y);

หลังจากนั้นเราใช้วิธี rotate() ที่ต้องการหมุน
ctx.rotate(angle);

ตอนนี้เราเตรียมวาดส่วนประกอบสู่กระดานวาด แต่ในครั้งนี้เราจะวาดตำแหน่งศูนย์กลางของส่วนประกอบบนตำแหน่ง 0,0 ที่กระดานวาดที่ถูกย้ายที่และหมุน
ctx.fillRect(width / -2, height / -2, width, height);

หลังจากที่เสร็จงานเราจำเป็นต้องใช้วิธี restore เพื่อกู้ตำแหน่งของเอกสารภาพต้นแบบ
ctx.restore();
ส่วนประกอบนี้เป็นสิ่งเดียวที่หมุนได้

ตัวก่อสร้างส่วนประกอบ
component
มีชื่อ angle
คุณสมบัติใหม่ของนักก่อสร้าง คือค่าที่แสดงที่ส่วนประกอบมีองศาหมุนเป็นหน่วยองศาทีแองเกล
component
ของนักก่อสร้าง update
วิธีการวาดส่วนประกอบคือตำแหน่งที่เราวาดส่วนประกอบ ในที่นี้คุณสามารถเห็นว่าส่วนประกอบสามารถหมุนได้
ตัวอย่าง
function component(width, height, color, x, y) { this.width = width; this.height = height; this.angle = 0; this.x = x; this.y = y; this.update = function() { ctx = myGameArea.context; ctx.save(); ctx.translate(this.x, this.y); ctx.rotate(this.angle); ctx.fillStyle = color; ctx.fillRect(this.width / -2, this.height / -2, this.width, this.height); ctx.restore(); } } function updateGameArea() { myGameArea.clear(); myGamePiece.angle += 1 * Math.PI / 180; myGamePiece.update(); }
- หน้าก่อนหน้า การกระเด็นในเกม
- หน้าต่อไป การเคลื่อนไหวในเกม