Motion ng Laro
- Nakaraang Pahina Rotation ng Laro
- Susunod na Pahina HTML Graphs
Rekomendasyon ng Kurso:
Paano lumilipat ang bagay? Muling lumalaro muli
sa component
magdagdag ng isang speed
attribute, na naglalarawan ng kasalukuyang bilang ng kalalabasan ng komponente.
mga newPos()
method, ayon sa speed
At sa pamamagitan ng pagbabago ng angle
kaugnay ng posisyon ng komponente.
Bilang default, ang komponente ay nakaharap sa itaas, sa pamamagitan ng paggawain ng speed
attribute sa 1, ang komponente ay magsisimula sa paglilipat sa harap.
Sample
function component(width, height, color, x, y) { this.gamearea = gamearea; this.width = width; this.height = height; this.angle = 0; this.speed = 1; 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(); } this.newPos = function() { this.x += this.speed * Math.sin(this.angle); this.y -= this.speed * Math.cos(this.angle); } }
mga likod
nais naming makilusot at makiligtas sa kaliwa at sa kanan. Lumikha ng isang pangalan na moveAngle
ng bagong attribute, na nagpapahiwatig ng kasalukuyang halaga ng paglipat o anggulo ng pag-rotate. Sa newPos()
sa moveAngle
pamamaraan ng angle
:
Sample
Isaayos ang attribute na moveangle sa 1, tingnan kung ano ang mangyayari:
function component(width, height, color, x, y) { this.width = width; this.height = height; this.angle = 0; this.moveAngle = 1; this.speed = 1; 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(); } this.newPos = function() { this.angle += this.moveAngle * Math.PI / 180; this.x += this.speed * Math.sin(this.angle); this.y -= this.speed * Math.cos(this.angle); } }
Gumamit ng keyboard
Kung gumamit ng keyboard, paano lumilipat ang pulang bloke? Kapag gumagamit ka ng 'up' na sumbong, ang pulang bloke ay hindi lumilipat sa itaas at sa ibaba, kundi maglilipat mula sa isang gilid papunta sa ibang gilid at maglilipat sa harap, at mag-rotate sa kanan at sa kaliwa kapag pindutin ang sumbong na 'left' at 'right'.
Sample
Tiyakin na ang lugar ng laro ay nakafokus, at gamitin ang arrow keys upang ilikas ang kulay puti na bloke.
- Nakaraang Pahina Rotation ng Laro
- Susunod na Pahina HTML Graphs