Canvas ການສະແດງການປ່ຽນແປງກາກກູເກີ
ວິກັດສີແດງສາມາດຫັນດັງ:
ການຫັນດັງຕົກປະກອບ
ໃນບາງສ່ວນທີ່ກ່ອນຂອງວິທີການນີ້ວິກັດສີແດງສາມາດເຄື່ອນຍ້າຍໃນເຂດຫຼັງໄກແຕ່ບໍ່ສາມາດຫັນດັງຫຼືຫັນດັງ:
ຕ້ອງການຫັນດັງຄວາມປະກອບນັ້ນພວກເຮົາຕ້ອງປ່ຽນວິທີການຂຽນຄວາມປະກອບ:
ວິທີການຫັນດັງທີ່ມີຢູ່ຂອງບັນຊີ canvas ຈະຫັນດັງບັນຊີທັງໝົດ:

ທຸກຢ່າງທີ່ພວກເຮົາຂຽນໃນແບບ canvas ຈະຫັນດັງຕະຫຼອດບັນຊີທີ່ຫັນດັງຂອງຄວາມປະກອບນັ້ນ:
ສະນັ້ນພວກເຮົາຕ້ອງໃຊ້: 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(); }