際際滷
Submit Search
JavaScript でパックマンゝ4指
?
2 likes
?
1,158 views
Project Samurai
Follow
MPS Setagaya 及7指ミ`ティングY創
Read less
Read more
1 of 21
More Related Content
JavaScript でパックマンゝ4指
1.
MPS Setagaya 及7指
(2015/10/11) ミ`ティング JavaScript でパックマン! 及4指 署徨匆 Morning Project Samurai 旗燕 MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
2.
云晩の朕 ? パックマンに笥パクさせる!? - Canvas
貧でのアニメ`ションのgF ? キ`ボ`ドでパックマンを咾す!? - ブラウザでのキ`ボ`ドイベントのI尖 MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
3.
window.requestAnimationFrame() ? ブラウザにアニメ`ションの宙鮫を勣箔? - 宙鮫のタイミングはブラウザがQ協? (フレ`ムレ`トをきっちりQめることはできない) ?
哈方に峺協したv方がg佩される? 箭: function drawPackman(timestamp){ ´ }? window.requestAnimationFrame(drawPackman); MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
4.
window.requestAnimationFrame() ? によるアニメ`ション function animation_loop()
{ // 宙鮫I尖をここにく // ´ window.requestAnimationFrame(animation_loop); } window.requestAnimationFrame(animation_loop); MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
5.
window.requestAnimationFrame() ? によるアニメ`ション function animation_loop()
{ // 宙鮫I尖をここにく // ´ window.requestAnimationFrame(animation_loop); } window.requestAnimationFrame(animation_loop); これから恬るところ MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
6.
笥パクまでの祇のり 1. 返咾妊僖パクできるようにする 2. 徭咾妊僖パクさせる MPS
Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
7.
Step1. 返咾膿撻僖! var cv
= document.getElementById(`pac-man'); var ctx = cv.getContext("2d"); function drawPacman(ctx ,cx, cy){ ctx.strokeStyle="#FF0000"; ctx.?llStyle="#FF0000"; ctx.beginPath(); ctx.arc(cx, cy, 50, 30 * Math.PI / 180, 330 * Math.PI / 180); ctx.lineTo(cx, cy); ctx.lineTo(cx + 50 * Math.cos(30 * Math.PI / 180), cy + ? 50 * Math.sin(30 * Math.PI / 180)); ctx.?ll(); } drawPacman(ctx, 50, 50); θ=30 MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
8.
Step1. 返咾膿撻僖! var cv
= document.getElementById(`pac-man'); var ctx = cv.getContext("2d"); function drawPacman(ctx ,cx, cy, theta){ ctx.strokeStyle="#FF0000"; ctx.?llStyle="#FF0000"; ctx.beginPath(); ctx.arc(cx, cy, 50, theta * Math.PI / 180, ? (360 - theta) * Math.PI / 180); ctx.lineTo(cx, cy); ctx.lineTo(cx + 50 * Math.cos(theta * Math.PI / 180), ? cy + 50 * Math.sin(theta * Math.PI / 180)); ctx.?ll(); } drawPacman(ctx, 50, 50, 30); drawPacman(ctx, 150, 50, 10); θ=theta MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
9.
Step2. 徭咾妊僖パクさせる var cv
= document.getElementById(`pac-man'); var ctx = cv.getContext("2d"); var cx = 50, cy = 50, theta = 30, dTheta = -1; function drawPacman(ctx ,cx, cy, theta){ ´ } function animationLoop(timestamp) { if (theta >= 30) dTheta = -1;? else if (theta <=0 ) dTheta = 1;? theta += dTheta; ctx.clearRect(0, 0, cv.width, cv.height); drawPacman(ctx, cx, cy, theta); window.requestAnimationFrame(animationLoop); } window.requestAnimationFrame(animationLoop);MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
10.
パックマン荷恬までの祇のり ? キ`兀和イベント (onkeydown)
に鬉垢? イベントI尖v方を恬り鞠h ? キ`がxされたイベント (onkeyup) に? 鬉垢襯ぅ戰鵐I尖v方を恬り鞠h MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
11.
ユ`ザ`の秘薦とイベント ? ブラウザはブラウザ貧でのユ`ザ`の荷恬をイベント? として函りQう? - 箭:
マウスのクリック、キ`の兀和 ? ブラウザはvBする勣殆へとイベントを宥岑 ? プログラマは勣殆にし、JavaScript を喘いて? イベントへのI圭を並念鞠h (イベントハンドラの鞠h) ? 勣殆はイベントを鞭け函ると鬉垢覽賠hされた? イベントハンドラを軟咾垢 MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
12.
イベントI尖の送れ ブラウザキャンバス勣殆 cv キ`が 兀和された! フォ`カスは? Canvas勣殆 キ`を兀和cv.onkydown に鞠hされた イベントハンドラでIするぜ
! ユ`ザ` MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
13.
イベントの箭 ? onkeydown: キ`の兀和イベント ?
onkeyup: キ`がxされたイベント ? onmousedown: マウスのボタンが兀和された ? onmouseup: マウスのボタンがxされた MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
14.
勣殆へのイベントハンドラの鞠h cv.tabIndex = 1; cv.onkeydown
= function(event) { event.preventDefault(); switch(event.keyCode) { case 37:? cx -= 1; break; case 38: cy -= 1; break; case 39: cx += 1; break; case 40:? cy += 1; break; } }; MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
15.
なんだかカクカク咾??? ブラウザ Canvas cx, cy キ`兀和k伏! 了崔厚仟! イベントハンドラによる cx, cy
の厚仟に児づく宙鮫 MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
16.
なんだかカクカク咾??? イベントハンドラによる cx, cy の厚仟に児づく宙鮫 ブラウザ Canvas cx,
cy キ`兀和k伏! 了崔厚仟!イベントハンドラが? K阻するたびに 卞咾盻K阻してしまう! MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
17.
錆らかに咾す垢健 movingDirectionに児づき cx, cy を厚仟して宙鮫 ブラウザ Canvas movingDirection[0]
= 1 movingDirection[1] = 0 キ`兀和k伏! 卞啻晋仟!匯業卞啻燭Qめれば、 仟たに onkeydown イベントが 軟こらなくてもパックマンが 卞咾珪Aける!! MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
18.
個措井 onkeydown イベントハンドラ var
moveDirection = [0, 0] //x, y cv.tabIndex = 1; cv.onkeydown = function(event) { event.preventDefault(); switch(event.keyCode) { case 37: moveDirection[0] = -1; break; case 38: moveDirection[1] = -1; break; case 39: moveDirection[0] = 1; break; case 40: moveDirection[1] = 1; } }; MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
19.
個措井 宙鮫v方 function animationLoop(timestamp)
{ if (theta >= 30) dTheta = -1;? else if (theta <=0 ) dTheta = 1;? theta += dTheta; cx += moveDirection[0]; cy += moveDirection[1]; ctx.clearRect(0, 0, cv.width, cv.height); drawPacman(ctx, cx, cy, theta); window.requestAnimationFrame(animationLoop); } MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
20.
錆らかに咾が峭まらない !! onkeyup イベントハンドラの嶄で キ`がxされたら鬉垢觀熟鬚厘啻燭0にする MPS
Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko
21.
cv.onkeyup = function(event)
{ event.preventDefault(); switch(event.keyCode) { case 37: moveDirection[0] = 0; break; case 38: moveDirection[1] = 0; break; case 39: moveDirection[0] = 0; break; case 40: moveDirection[1] = 0; } }; MPS Setagaya 及7指 (2015/10/11) ミ`ティング (c) Junya Kaneko