Soumettre la recherche
Mettre en ligne
JavaScript Hackathon for Students
•
Télécharger en tant que KEY, PDF
•
0 j'aime
•
931 vues
Takumi Ohashi
Suivre
Technologie
Signaler
Partager
Signaler
Partager
1 sur 38
Télécharger maintenant
Recommandé
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
Masaru Mizuochi
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
Masaru Mizuochi
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
Yoichi Nakayama
Cocoa勉強会201208
Cocoa勉強会201208
Satoshi Oomori
Arctic.js
Arctic.js
chikathreesix
CG2013 05
CG2013 05
shiozawa_h
Html canvas shooting_and_performanceup
Html canvas shooting_and_performanceup
Yohei Munesada
Processing workshop v3.0
Processing workshop v3.0
Wataru Kani
Recommandé
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
Masaru Mizuochi
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
Masaru Mizuochi
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
Yoichi Nakayama
Cocoa勉強会201208
Cocoa勉強会201208
Satoshi Oomori
Arctic.js
Arctic.js
chikathreesix
CG2013 05
CG2013 05
shiozawa_h
Html canvas shooting_and_performanceup
Html canvas shooting_and_performanceup
Yohei Munesada
Processing workshop v3.0
Processing workshop v3.0
Wataru Kani
Squirrel
Squirrel
melpon
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
Teruaki Tsubokura
Aaなゲームをjsで
Aaなゲームをjsで
Moriyoshi Koizumi
CG2013 12
CG2013 12
shiozawa_h
Processing資料(1) Processingの基本
Processing資料(1) Processingの基本
reona396
Goをカンストさせる話
Goをカンストさせる話
Moriyoshi Koizumi
3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!
vi-iv
Processing資料(4) アニメーション
Processing資料(4) アニメーション
reona396
関数の近似方法(MATLAB)
関数の近似方法(MATLAB)
Tsuyoshi Horigome
How to make Inn-fighting dice
How to make Inn-fighting dice
Masujima Ryohei
Processing資料(7) マウスとキーボード
Processing資料(7) マウスとキーボード
reona396
python-geohex
python-geohex
遼 会田
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
C++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Atsushi Tadokoro
Processing資料(6) 様々な図形
Processing資料(6) 様々な図形
reona396
今さら始めるCoffeeScript
今さら始めるCoffeeScript
Ashitaba YOSHIOKA
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
Ryuma Tsukano
Aaなゲームをjsで
Aaなゲームをjsで
Moriyoshi Koizumi
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
cocopon
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発
Ryo Suzuki
Contenu connexe
Tendances
Squirrel
Squirrel
melpon
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
Teruaki Tsubokura
Aaなゲームをjsで
Aaなゲームをjsで
Moriyoshi Koizumi
CG2013 12
CG2013 12
shiozawa_h
Processing資料(1) Processingの基本
Processing資料(1) Processingの基本
reona396
Goをカンストさせる話
Goをカンストさせる話
Moriyoshi Koizumi
3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!
vi-iv
Processing資料(4) アニメーション
Processing資料(4) アニメーション
reona396
関数の近似方法(MATLAB)
関数の近似方法(MATLAB)
Tsuyoshi Horigome
How to make Inn-fighting dice
How to make Inn-fighting dice
Masujima Ryohei
Processing資料(7) マウスとキーボード
Processing資料(7) マウスとキーボード
reona396
python-geohex
python-geohex
遼 会田
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
C++でHello worldを書いてみた
C++でHello worldを書いてみた
firewood
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Atsushi Tadokoro
Processing資料(6) 様々な図形
Processing資料(6) 様々な図形
reona396
今さら始めるCoffeeScript
今さら始めるCoffeeScript
Ashitaba YOSHIOKA
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
Ryuma Tsukano
Tendances
(19)
Squirrel
Squirrel
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
Aaなゲームをjsで
Aaなゲームをjsで
CG2013 12
CG2013 12
Processing資料(1) Processingの基本
Processing資料(1) Processingの基本
Goをカンストさせる話
Goをカンストさせる話
3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!
Processing資料(4) アニメーション
Processing資料(4) アニメーション
関数の近似方法(MATLAB)
関数の近似方法(MATLAB)
How to make Inn-fighting dice
How to make Inn-fighting dice
Processing資料(7) マウスとキーボード
Processing資料(7) マウスとキーボード
python-geohex
python-geohex
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
C++でHello worldを書いてみた
C++でHello worldを書いてみた
C++11概要 ライブラリ編
C++11概要 ライブラリ編
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Processing資料(6) 様々な図形
Processing資料(6) 様々な図形
今さら始めるCoffeeScript
今さら始めるCoffeeScript
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
Similaire à JavaScript Hackathon for Students
Aaなゲームをjsで
Aaなゲームをjsで
Moriyoshi Koizumi
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
cocopon
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発
Ryo Suzuki
プログラミング技法特論第8回
プログラミング技法特論第8回
Noritada Shimizu
Continuation with Boost.Context
Continuation with Boost.Context
Akira Takahashi
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
Fujio Kojima
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
Yuisho Takafuji
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
Akira Inoue
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
Preferred Networks
SystemC Tutorial
SystemC Tutorial
kocha2012
HTML5 on ASP.NET
HTML5 on ASP.NET
Fujio Kojima
Ssaw08 0916
Ssaw08 0916
Atsushi Tadokoro
Canvas de shooting 制作のポイント
Canvas de shooting 制作のポイント
Yohei Munesada
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Koji Ishimoto
JavaScript入門
JavaScript入門
Ryo Maruyama
広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習
x1 ichi
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章
yaju88
Unit test in android
Unit test in android
Tatsuya Maki
Reactive Programming
Reactive Programming
Hideyuki Takeuchi
Similaire à JavaScript Hackathon for Students
(20)
Aaなゲームをjsで
Aaなゲームをjsで
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発
プログラミング技法特論第8回
プログラミング技法特論第8回
Continuation with Boost.Context
Continuation with Boost.Context
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
SystemC Tutorial
SystemC Tutorial
HTML5 on ASP.NET
HTML5 on ASP.NET
Ssaw08 0916
Ssaw08 0916
Canvas de shooting 制作のポイント
Canvas de shooting 制作のポイント
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
JavaScript入門
JavaScript入門
広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章
Unit test in android
Unit test in android
Reactive Programming
Reactive Programming
Dernier
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Dernier
(9)
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
JavaScript Hackathon for Students
1.
Forif Hackathon for
Students JavaScriptで作るスマートフォンブラウザゲーム 株式会社フォリフ エンジニア 大橋巧 2012/05/18
2.
自己紹介 • 大橋 巧 • 2011年4月入社 •
主にクライアントサイド担当 • Corollin’ Planetなど開発
3.
今日は
4.
HTML5
5.
What’s HTML5? • Flashのかわりになるらしい •
最近のWebサービスはみんなHTML5 • とにかくすごいらしい
6.
HTML5とは •
HTML5 (エイチティーエムエル・ファイブ)とは HTML の 5 回目に 当たる大幅な改定版である。表記は HTML と 5 の間にスペースを含ま ない。XML の文法で記述する場合、XHTML5 と呼ばれる。HTML5 は WHATWG によって2004年に定められた Web Applications 1.0 に Web Forms 2.0 を取り入れたものが W3C の専門委員会に採用され、W3C より2008年1月22日にドラフト(草案)が発表された。現在、2014年 までの正式勧告を目指して策定が行われている。改訂の主要目的のひ とつとして人間にも読解可能でコンピューターやディバイス(ウェブ ブラウザ、構文解析器など)にも矛盾せず読解されるとともに最新の マルチメディアをサポートする言語に向上することである。HTML5で はHTML 4だけでなくXHTML1やDOM2HTML(特にJavaScript)も加え 参考URL : http://ja.wikipedia.org/wiki/HTML5
7.
?
8.
HTML5とは(ざっくり) • 文章の構造を明確化 • 画像描画、動画や音声の再生 •
位置情報、双方向通信etc... • HTML5 + JavaScript + CSS3 →リッチなWebアプリも作成可能に
9.
Canvas
10.
Canvas • JavaScriptを使って動的に図を描く
HTML5の要素 HTML: <canvas width= 100 height= 100 ></canvas> js: var canvas = document.getElementsByTagName('canvas')[0]; var ctx = canvas.getContext('2d'); ctx.Rect(0, 0, 50, 100); ctx.fill();
11.
実際にCanvasで 図形を描いてみる
12.
Canvas下準備 • コンテキストを取得する var
canvas = document.getElementById( canvas ); var ctx = canvas.getContext( 2d );
13.
円を描く // パスを開く ctx.beginPath(); // X:
100, Y: 100の座標に半径50pxの円を描く ctx.arc(100, 100, 50, 0, Math.PI*2, false); // 塗りつぶす色を設定する ctx.fillStyle = red ; // 円を塗りつぶす ctx.fill(); // パスを閉じる ctx.closePath();
14.
長方形を描く // パスを開く ctx.beginPath(); // X:
80, Y: 160の座標に幅200px, 高さ100pxの長方形を描く ctx.rect(80, 160, 200, 100); // 枠線の色を設定する ctx.strokeStyle = blue ; // 長方形の枠線を描く ctx.stroke(); // パスを閉じる ctx.closePath();
15.
書いたものを消す // X: 100,
Y: 80の座標から幅100px, 高さ120pxの範囲を消す ctx.clearRect(100, 80, 100, 120);
16.
Canvasで アニメーション
17.
JavaScriptのループ setInterval(function(){
// 1秒に1回、この中身が実行される }, 1000); // ↑「1000ミリ秒」1ミリ秒 = 1/1000秒なので、1秒
18.
ループの中で Canvasに描画
19.
// ボールのX座標 var ball_x
= 0; // ボールのY座標 var ball_y = 0; // ループ // 50ミリ秒( 1/20秒 )に一回描画 setInterval(function(){ // 1秒に1回、この中身が実行される ctx.beginPath(); // X: ball_x, Y: ball_yの座標に円を描画 ctx.arc(ball_x, ball_y, 10, 0, Math.PI*2, false); ctx.fillStyle = "red"; ctx.fill(); ctx.closePath(); // ball_xに1を足す ball_x++; // ball_yに1を足す ball_y++; }, 50);
20.
何かおかしい? • Canvasに描いたものはいつまでも消え ない •
アニメーションさせる場合、描画→消 す→描画のサイクルが必要
21.
// ループ // 50ミリ秒(
1/20秒 )に一回描画 setInterval(function(){ // 前回描画したものを消す ctx.clearRect(0, 0, canvas.width, canvas.height); // 1秒に1回、この中身が実行される ctx.beginPath(); // X: ball_x, Y: ball_yの座標に円を描画 ctx.arc(ball_x, ball_y, 10, 0, Math.PI*2, false); ctx.fillStyle = "red"; ctx.fill(); ctx.closePath(); // ball_xに1を足す ball_x++; // ball_yに1を足す ball_y++; }, 50);
22.
アニメーションまとめ • setIntervalの中でCanvasに描画 • 描画→消す→描画のサイクル
23.
Hackathon
24.
スカッシュゲーム
25.
STEP1:ボール運動
26.
パラメータ設定 // ボールのX座標 var ball_x
= 10; // ボールのY座標 var ball_y = 100; // ボールのX方向速度 var ball_dir_x = 5; // ボールのY方向速度 var ball_dir_y = 5; // ボールの半径 var ball_radius = 10;
27.
// 50ミリ秒( 1/20秒
)に一度描画 setInterval(function(){ // 前回描画したものを消す ctx.clearRect(0, 0, canvas.width, canvas.height); // ボールを描画 ctx.beginPath(); // X: ball_x, Y: ball_yの座標に円を描画 ctx.arc(Math.floor(ball_x), Math.floor(ball_y), ball_radius, 0, Math.PI*2, false); ctx.fillStyle = "red"; ctx.fill(); ctx.closePath(); // ball_xにball_dir_xを足す ball_x += ball_dir_x; // ball_yにball_dir_yを足す ball_y += ball_dir_y; }, 50);
28.
壁の当たり判定 // ボールと壁の当たり判定 当たれば反転 //
左右の壁 if (ball_x < 0 ¦¦ ball_x > canvas.width) { ball_dir_x *= -1; } // 画面の上 if (ball_y < 0 ¦¦ ball_y > canvas.height) { ball_dir_y *= -1; }
29.
STEP2:バー操作
30.
パラメータ設定 // バーのX座標 var bar_x
= 160; // バーのY座標 var bar_y = 280; // バーの幅 var bar_width = 80; // バーの高さ var bar_height = 16;
31.
バーを描画 // ループの中に描く // バーを描画 ctx.beginPath(); ctx.rect(bar_x,
bar_y, bar_width, bar_height); ctx.fillStyle = "blue"; ctx.fill(); ctx.closePath();
32.
マウスの動きを取得 // PC用 document.getElementById("canvas").addEventListener('mousemove', function(){
// マウスが動く度にこの中が呼ばれる // バーのX座標をマウスに合わせる bar_x = event.pageX - bar_width / 2; }, false);
33.
スマートフォンの場合 // スマートフォン用 document.getElementById("canvas").addEventListener('touchmove', function(){
// 画面上で指を動かす度にこの中が呼ばれる // 画面がスクロールされるのを防ぐ event.preventDefault(); // バーのX座標を指に合わせる bar_x = event.touches[0].pageX - bar_width / 2; }, false); (とりあえず今日はPCのみで)
34.
STEP3:バーとボールの
当たり判定
35.
バーとボールの当たり判定 // バーに当たっているか // ball_yがbar_yより大きい、かつ //
ball_xがbar_xより大きく、bar_x + bar_widthyり小さい if (ball_y > bar_y && ball_x > bar_x && ball_x < bar_x + bar_width) { ball_dir_y *= -1; }
36.
+α • 得点表示 • ブロック崩しゲームにする •
オリジナル機能
37.
参考サイト • Corollin’ Planet
http://corollin.com/ • JOYNT http://joynt.in/ • jsdo.it http://jsdo.it/ • 9leap http://9leap.net/
38.
ありがとうございました。
Notes de l'éditeur
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Télécharger maintenant