SlideShare a Scribd company logo
1 of 11
Download to read offline
MCAゲーム開発講座
JSをいじってJCを扱えるようになろう
講座の準備
> 講座資料
- ここ(https://github.com/tamamu/js_tutorial)
> 質問用Slack
- ここ(https://mca-dev.slack.com/)
第2回 まず土台から作ろう
~TOKIOになった気分で~
MCAゲーム開発講座
Canvasをレイヤーとして使う
> ちょっとだけCSSのお勉強
- index.htmlの<style>の部分がCSS
> #idでそのidを持つ要素に適用
- :の左側が属性名、右側が値
> positionは要素の位置の基準を決める属性
値にabsoluteとすると絶対位置への配置となる
(他にrelative=相対位置などがある)
Canvasをレイヤーとして使う
> z-indexは重ね合わせの順番を決める属性
- 数字が小さいほど下で、大きいほど上に重ねられる
> 今回はbgを下に、gameを上に重ねる
連想配列(ハッシュテーブル)
> 配列変数の各要素を区別出来るように名前を付けて管理する変数
> C言語で言う構造体みたいなもの
> JSではクラスもこれの一種
> 作り方
- var hoge = {a: 0, b: 1, c: 2}
> 使い方
- hoge.b :=> 1
画像の読み込み
> JSで画像を読み込むには最低でも2手順踏まなければならない
- var hoge = new Image();
- hoge.src = "画像へのパス";
> 今回はそれをまとめて関数化する(1手順で済むね!)
> コールバック関数の説明は後ほど
drawImage
> 画像をcanvasに描く関数
> さらに言えば、canvasの一部をcanvasに拡大・縮小コピーする関数
> 使い方は3種類(主に使うのは2種類)
- drawImage(image,dx, dy)
- imageを座標(dx, dy)にコピー
- drawImage(image,sx, sy, sw, sh, dx, dy, dw, dh)
- imageの座標(sx, sy)から(sx+sw, sy+sh)までの矩形を
- 座標(dx, dy)に幅dw, 高さdhでコピー
> 前者は1枚絵、後者はスプライトシートに使う
- imageをctxと勘違いしないように!!
FPSの管理
> FPS(Frame Per Second)
> 1秒間に画面を更新する回数
> 一般的なゲームだと60fpsだが、今回は30fps
> requestAnimationFrameはfpsを良い感じに保ってくれる
> それだけだと心もとないので30fpsになるよう調整する処理を入れ
てる
- if(new Date() - lastDraw > 1000/30)
- 現在時刻 - 最終更新時刻が 1/30 秒を上回ったら更新
当たり判定
> 点と矩形の当たり判定はそのまま
- 矩形の内部に点があれば当たったとみなす
> 円同士の当たり判定は数学Ⅱの復習
- 画像はここのを使わせてもらいました
次回
へ続
く

More Related Content

What's hot (7)

フロント作業の効率化
フロント作業の効率化フロント作業の効率化
フロント作業の効率化
 
とあるデータの保存方法(エターナルサーブ)
とあるデータの保存方法(エターナルサーブ)とあるデータの保存方法(エターナルサーブ)
とあるデータの保存方法(エターナルサーブ)
 
Glance image-cacheコマンドを使ってみた
Glance image-cacheコマンドを使ってみたGlance image-cacheコマンドを使ってみた
Glance image-cacheコマンドを使ってみた
 
チーム開発Tip紹介(Objective-C)
チーム開発Tip紹介(Objective-C)チーム開発Tip紹介(Objective-C)
チーム開発Tip紹介(Objective-C)
 
React で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考えるReact で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考える
 
20130316 JAWS DAYS 美人CDP+
20130316 JAWS DAYS 美人CDP+20130316 JAWS DAYS 美人CDP+
20130316 JAWS DAYS 美人CDP+
 
おふとんから眺めるSVG
おふとんから眺めるSVGおふとんから眺めるSVG
おふとんから眺めるSVG
 

Viewers also liked

Ut fi-aa-it-004-denial of cenvat credit
Ut fi-aa-it-004-denial of cenvat creditUt fi-aa-it-004-denial of cenvat credit
Ut fi-aa-it-004-denial of cenvat credit
AMIT SHINDE
 
Conditionsforhumor 110827201652-phpapp01
Conditionsforhumor 110827201652-phpapp01Conditionsforhumor 110827201652-phpapp01
Conditionsforhumor 110827201652-phpapp01
Scott Armstrong
 

Viewers also liked (15)

Cinc indrets de barcelona
Cinc indrets de barcelonaCinc indrets de barcelona
Cinc indrets de barcelona
 
Delibera estate
Delibera estateDelibera estate
Delibera estate
 
Hoja rotacion
Hoja rotacionHoja rotacion
Hoja rotacion
 
Casa Punta Molara
Casa Punta MolaraCasa Punta Molara
Casa Punta Molara
 
Presentació Palau de Mar-Competic 3
Presentació Palau de Mar-Competic 3Presentació Palau de Mar-Competic 3
Presentació Palau de Mar-Competic 3
 
Ut fi-aa-it-004-denial of cenvat credit
Ut fi-aa-it-004-denial of cenvat creditUt fi-aa-it-004-denial of cenvat credit
Ut fi-aa-it-004-denial of cenvat credit
 
Ромашка
РомашкаРомашка
Ромашка
 
BBFC certification
BBFC certificationBBFC certification
BBFC certification
 
Conditionsforhumor 110827201652-phpapp01
Conditionsforhumor 110827201652-phpapp01Conditionsforhumor 110827201652-phpapp01
Conditionsforhumor 110827201652-phpapp01
 
Ромашка
РомашкаРомашка
Ромашка
 
PA e fatturazione elettronica in italia
PA e fatturazione elettronica in italiaPA e fatturazione elettronica in italia
PA e fatturazione elettronica in italia
 
Alteraciones del metabolismo del equilibrio acido base
Alteraciones del metabolismo del equilibrio acido baseAlteraciones del metabolismo del equilibrio acido base
Alteraciones del metabolismo del equilibrio acido base
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Projects
ProjectsProjects
Projects
 
39-103-1-PB (1)
39-103-1-PB (1)39-103-1-PB (1)
39-103-1-PB (1)
 

Similar to JS/Canvas Tutorial2

CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
Kazuki Akiyama
 

Similar to JS/Canvas Tutorial2 (12)

jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
 
12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション
 
Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
 
Three.jsで3D気分
Three.jsで3D気分 Three.jsで3D気分
Three.jsで3D気分
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
 
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
 
入門機械学習読書会9章
入門機械学習読書会9章入門機械学習読書会9章
入門機械学習読書会9章
 
第四回 JavaScriptから始めるプログラミング2016
第四回 JavaScriptから始めるプログラミング2016第四回 JavaScriptから始めるプログラミング2016
第四回 JavaScriptから始めるプログラミング2016
 

Recently uploaded

Recently uploaded (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

JS/Canvas Tutorial2