SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Canvas de Shootingからみる
    HTML5 Canvasを用いた
       ゲームの作り方

~ HTML5 Canvas × JavaScript Development ~
まずは自己紹介します!

名前とか:
 宗定 洋平(@yoheiMune)
 YoheiM.NET(http://www.yoheim.net/)ブロガー

趣味:
 テニス、プログラミング(最近は、HTML5,
Objective-Cが中心)
今日お話するネタはこちらです




         http://www.yoheim.net/labo/html5/canvasShooting.html
今日お話するネタはこちらです

"Canvas de Shooting"


このゲームの作り方の
解説を通して、


HTML5でのゲーム制作する際の技術ポイントを
少しでもお伝え出来ればと思います!
Sencha Touch
NO
Sencha Touch
enchant.js
NO
enchant.js
ライブラリ無しで
   いきます!!
ライブラリなしだとこんな大変なのか!とか、

ライブラリ無くても全然イケんじゃん!とか、

を感じて貰えれば幸いです。
では目次へ
Agenda

1. HTML5 Canvasで今回利用する技術紹介

2. 実装内容のご紹介(ここメイン!!)

3. Canvas de Shootingの課題

4. 最後に
Agenda

1. HTML5 Canvasで今回利用する技術紹介




 Canvasの技術を4つ紹介します
1. Canvasの準備


// Canvasエレメントを取得
var canvas
    = document.getElementById("myCanvas");

// 描画命令を行う為のコンテキストを取得
var ctx = canvas.getContext("2d");
2. 色の指定

// 塗りつぶしの色を指定
ctx.fillStyle = "rgb(0,255,0)";   // 緑

ctx.fillStyle = "rgb(255,255,0)"; // 黄

ctx.fillStyle = "rgb(255,0,0)";   // 青



利用用途:壁色の指定、ショットの色の指定
3. 図形の描画と、画像の描画


// 四角形の描画
ctx.fillRect(posX, posY, width, height);


// 画像の描画
ctx.drawImage(imageObject, posX, posY);




利用用途:ショットの描画、自機や敵機の描画
4. 描画内容のクリア



// Canvas上の描画内容をクリア
ctx.clearRect(posX, posY , width, height);




利用用途:MainLoopで再描画する時に使う
えっ!?
これだけ?
はい!
これだけです。
続いて、
実装内容の
紹介です
Agenda

1. HTML5 Canvasで今回利用する技術紹介

2. 実装内容のご紹介(ここメイン!!)

3. Canvas de Shootingの課題

4. 最後に
まずは
初期処理です
1. 初期化処理
// Canvasを取得
var canvas
    = document.getElementById("myCanvas");
// Canvasの大きさを画面に合わせる
canvas.width = window.innerWidth || 800;
canvas.height = window.innerHeight * 0.95 ||
400;
// contextを生成する
var ctx = canvas.getContext("2d");
1. 初期化処理

// 使う画像を、事前に読み込みます
img_plane = new Image();
img_plane.src = "img/plane.png";
img_plane.onload = function () {
    // 読み込み終了した状態を保存
    imageLoadDone = true;
}
次に
メインループ
です
2. MainLoopを開始する

// 描画や当たり判定を行うMainLoopをつくる
var gameMainLoop = function () {

    // 今回は、mainLoop内で再描画します
    ctx.clearRect(0, 0, w, h);
}

// setIntervalでゲームを開始!
var timer = setInterval(gameMainLoop, 50);
ここまでで、
以下のような画面が出来ます




    真っ暗です。でも動いてます。
自機を動かします
3. 自機を動かす ①

// まずは自機を表すオブジェクトを作ります
var plane = {
  img : img_plane,
  posX : 10,
  posY : (h - img_plane.height) / 2,
  life : 3
}
3. 自機を動かす ②

// 自機を動かす為に、keypressイベントを監視しま
す
document.onkeypress = function (e) {

    // 例えば自機を上に動かす場合
    if (e.keyCode == 101/*E*/) {
      plane.posY -= 5;
    }
}
3. 自機を動かす ③

// そしてメインループ内で、自機を描画します
var gameMainLoop = function () {

    // 自機を描画する
    ctx.drawImage(plane.img, plane.posX,
                                 plane.posY);
}
自機で
攻撃してみます
4. 自機がショットを撃つ ①

// 自機ショットを保持する配列を定義します
var plane_balls = [];

// 自機ショットは、以下のオブジェクト型と
// します
var ball = {
  radius : 5, posX : 10, posY : 10, speed : 10
}
4. 自機がショットを撃つ ②

// "K"ボタンが押されたら、ショットを生成
document.onkeypress = function () {
 if (e.keyCode == 107/*K*/) {
   var newBall = {
     radius : 5, posX : plane.posX, posY : plane.
posY, speed : 10
   };
        plane_balls.push(newBall);
    }
}
4. 自機がショットを撃つ ③
// mainLoop内で、speed分だけ移動させて描画する
var gameMainLoop = function () {
 for (var i = 0; i < plane_balls.length; i++) {
    var ball = plane_balls[i];
    ball.posX += ball.speed;
    ctx.fillStyle = "rgba(200,0,0,1)";
    ctx.fillRect(ball.posX, ball.posY, ball.radius,
ball.radius);
  }
}
これで自機を動かして、
攻撃できるようになりました
次に、敵機を
出現させます
5. 敵機を出現させる ①
// まずは敵機を保持する配列を定義します
var enemies = [];

// 敵機は、以下のオブジェクト定義とします
var enemy = {
  img : img, /* 今回は2種類の画像を使う */
  posX : x,
  posY : y,
  speed : s
};
5. 敵機を出現させる ②
// 敵機はランダムに出現させます
function createEnemy () {
  var num =(Math.floor((Math.random()*100)%100);
  if (num < 5) {
    var s = num;
    var i = (num%2==0 ? imgE01 : imgE02);
    var y = canvasHeght * Math.random();
    var x = canvasWidth;
    var enemy = {img:i, posX:x, posY:y, speed:s};
    enemies.push(enemy);
  }
}
5. 敵機を出現させる ③
// MainLoop内でspeed分、左に移動させて描画
var gameMainLoop = function () {
  for (var i = 0; i < enemies.length; i++) {
  var enemy = enemies[i];
  var enemy.posX -= enemy.speed;
    ctx.drawImage(enemy.img, enemy.posX,
enemy.posY);
  }
}
これで敵機が左に向かって、
動くようになりました
当たり判定です
6.当たり判定を行う ①
当たり判定は、物体と物体が重なったか、否かを
判断します。
重なっている場合には、2つの物体同士が当たって
いると考えます。


                  Hit!!
6.当たり判定を行う ②
例えば自機ショットと敵機の当たり判定の場合を
説明します。
          x座標 = PosX+radius
          y座標 = PosY            x座標 = PosX
                                y座標 = PosY




 x座標 = PosX
 y座標 = PosY



              radius




   x座標 = PosX+radius
   y座標 = PosY+radius
                              x座標 = PosX
                              y座標 = PosY + img.height
6.当たり判定を行う ③
// ソースコードではこんな感じです
var b = plane_balls[i];
var e = enemies[j];
if ((b.posX + b.radius) >= e.posX    /* x 座標 */
     && b.posY <= e.posY+e.img.width /* y座標下 */
     && b.posY >= e.posY) {          /* y座標上 */

    delete plane_balls[i];
    delete enemies[j];
}
6. 当たり判定を行う ④
// 最後にdeleteした要素をお掃除する
// 例えば自機ショットの場合
var new_plane_balls = [];

for (var i = 0; i < plane_balls.length; i++) {
  if (plane_balls[i])
    new_plane_balls.push(plane_balls[i]);
}

plane_balls = new_plane_balls;
7.GameOver or GameClear ①
// ボスを倒すか、自機が倒されたら終わり
if (deadBoss() || deadSelf()) {

    // mainLoopを終了させる
    clearTimeout(timer);

    // メッセージを表示する
    if (deadBoss())
        alert("CONGURATURATION!!");
    else
        alert("GAME OVER");
}
これでシューティングゲームが
できました(*゚▽゚)ノ
Agenda

1. HTML5 Canvasで今回利用する技術紹介

2. 実装内容のご紹介(ここメイン!!)

3. Canvas de Shootingの課題

4. 最後に
3. Canvas de Shootingの課題

・JavaScriptの各種ブラウザ対応

・ゲームプランニング(駆け引きの設定など)

・Canvas 2Dの描画性能

・課金方法
そして、
最後に。
長時間のご清聴、ありがとうございました。

ライブラリに依存しないゲーム制作の内容をお伝
えしてきました。

このプレゼンテーションから何か感じたものがあっ
たら幸いです。

実際のゲームやソースコードは、こちらにありま
す。ご興味あればご覧頂ければ幸いです。


http://www.yoheim.net/labo/html5/canvasShooting.html
HTML5って便利で面白くて、そして触りは簡単だと
思います。

これからもHTML5をたくさん触れていきたいと思い
ます。
その中で何か皆様のお役に立てる事が出来れば、
良いなぁと感じる。

今日はお時間頂きましてありがとうございました。

              Yohei Munesada

Más contenido relacionado

La actualidad más candente

メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションAtsushi Tadokoro
 
㉖cocos2dを覚えよう!
㉖cocos2dを覚えよう!㉖cocos2dを覚えよう!
㉖cocos2dを覚えよう!Nishida Kansuke
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションAtsushi Tadokoro
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLAtsushi Tadokoro
 
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Yusuke HIDESHIMA
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BAtsushi Tadokoro
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるAtsushi Tadokoro
 
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方Masaru Mizuochi
 
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFメディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFAtsushi Tadokoro
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!cocopon
 
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するAtsushi Tadokoro
 
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019Masaru Mizuochi
 
2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2dHiroshi Oyamada
 
Processing workshop v3.0
Processing workshop v3.0Processing workshop v3.0
Processing workshop v3.0Wataru Kani
 
Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門cocopon
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3yaju88
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DKatsushi Suzuki
 
画像を縮小するお話
画像を縮小するお話画像を縮小するお話
画像を縮小するお話technocat
 
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvMedia Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvAtsushi Tadokoro
 
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めようAdvancedTechNight
 

La actualidad más candente (20)

メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
 
㉖cocos2dを覚えよう!
㉖cocos2dを覚えよう!㉖cocos2dを覚えよう!
㉖cocos2dを覚えよう!
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
 
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
 
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方NEORT ミートアップ #1 LT クリエイティブコーディングの行方
NEORT ミートアップ #1 LT クリエイティブコーディングの行方
 
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFメディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
 
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
 
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019シェーダープログラムを無限に生成するガチャつくってみた PCD2019
シェーダープログラムを無限に生成するガチャつくってみた PCD2019
 
2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d
 
Processing workshop v3.0
Processing workshop v3.0Processing workshop v3.0
Processing workshop v3.0
 
Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
 
画像を縮小するお話
画像を縮小するお話画像を縮小するお話
画像を縮小するお話
 
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvMedia Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
 
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
 

Destacado

小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレMuyuu Fujita
 
ノンゲーム系スマホアプリ制作 First Step
ノンゲーム系スマホアプリ制作 First Stepノンゲーム系スマホアプリ制作 First Step
ノンゲーム系スマホアプリ制作 First StepYohei Munesada
 
今こそCSS 今こそfor you
今こそCSS 今こそfor you 今こそCSS 今こそfor you
今こそCSS 今こそfor you Tatsuya Kosuge
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点Horiguchi Seito
 
はじめてのMongoDB
はじめてのMongoDBはじめてのMongoDB
はじめてのMongoDBTakahiro Inoue
 
ES6 - Next Generation Javascript
ES6 - Next Generation JavascriptES6 - Next Generation Javascript
ES6 - Next Generation JavascriptRamesh Nair
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろうCROOZ, inc.
 
MongoDB全機能解説1
MongoDB全機能解説1MongoDB全機能解説1
MongoDB全機能解説1Takahiro Inoue
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBAkihiro Kuwano
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo dbYuji Isobe
 
データドリブン経営のメトリクス分析 AARRR!モデルの紹介
データドリブン経営のメトリクス分析 AARRR!モデルの紹介データドリブン経営のメトリクス分析 AARRR!モデルの紹介
データドリブン経営のメトリクス分析 AARRR!モデルの紹介pLucky
 
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016Tokoroten Nakayama
 
Module, AMD, RequireJS
Module, AMD, RequireJSModule, AMD, RequireJS
Module, AMD, RequireJS偉格 高
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングYuichi Ito
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうToshiaki Sasaki
 

Destacado (17)

小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
 
ノンゲーム系スマホアプリ制作 First Step
ノンゲーム系スマホアプリ制作 First Stepノンゲーム系スマホアプリ制作 First Step
ノンゲーム系スマホアプリ制作 First Step
 
今こそCSS 今こそfor you
今こそCSS 今こそfor you 今こそCSS 今こそfor you
今こそCSS 今こそfor you
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
 
はじめてのMongoDB
はじめてのMongoDBはじめてのMongoDB
はじめてのMongoDB
 
ES6 - Next Generation Javascript
ES6 - Next Generation JavascriptES6 - Next Generation Javascript
ES6 - Next Generation Javascript
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
MongoDB全機能解説1
MongoDB全機能解説1MongoDB全機能解説1
MongoDB全機能解説1
 
Object Oriented CSS
Object Oriented CSSObject Oriented CSS
Object Oriented CSS
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
 
データドリブン経営のメトリクス分析 AARRR!モデルの紹介
データドリブン経営のメトリクス分析 AARRR!モデルの紹介データドリブン経営のメトリクス分析 AARRR!モデルの紹介
データドリブン経営のメトリクス分析 AARRR!モデルの紹介
 
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
 
Module, AMD, RequireJS
Module, AMD, RequireJSModule, AMD, RequireJS
Module, AMD, RequireJS
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
 

Similar a Canvas de shooting 制作のポイント

Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Masahiko Mizuta
 
Creators'night#12今井
Creators'night#12今井Creators'night#12今井
Creators'night#12今井Daisuke Imai
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜勝成 鈴江
 
enchant.js meetup Tokyo vol.2 Tutorial
enchant.js meetup Tokyo vol.2 Tutorialenchant.js meetup Tokyo vol.2 Tutorial
enchant.js meetup Tokyo vol.2 TutorialRyo Shimizu
 
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろうnico0927
 
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Ryo Suzuki
 
How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)sleipnir002
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DKatsushi Suzuki
 
中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1優希 山本
 
JavaScript Hackathon for Students
JavaScript Hackathon for StudentsJavaScript Hackathon for Students
JavaScript Hackathon for StudentsTakumi Ohashi
 
Creators'night#14今井
Creators'night#14今井Creators'night#14今井
Creators'night#14今井Daisuke Imai
 
Unity C#3からC#6に向けて
Unity C#3からC#6に向けてUnity C#3からC#6に向けて
Unity C#3からC#6に向けてonotchi_
 
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_Unity Technologies Japan K.K.
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
 
プログラミング技法特論第4回
プログラミング技法特論第4回プログラミング技法特論第4回
プログラミング技法特論第4回Noritada Shimizu
 
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かきNishida Kansuke
 

Similar a Canvas de shooting 制作のポイント (20)

enchant.js勉強会
enchant.js勉強会enchant.js勉強会
enchant.js勉強会
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
 
Creators'night#12今井
Creators'night#12今井Creators'night#12今井
Creators'night#12今井
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
 
enchant.js meetup Tokyo vol.2 Tutorial
enchant.js meetup Tokyo vol.2 Tutorialenchant.js meetup Tokyo vol.2 Tutorial
enchant.js meetup Tokyo vol.2 Tutorial
 
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
 
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発
 
How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
 
CG2013 03
CG2013 03CG2013 03
CG2013 03
 
中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1中高校生対象プログラミング講座Part1
中高校生対象プログラミング講座Part1
 
JavaScript Hackathon for Students
JavaScript Hackathon for StudentsJavaScript Hackathon for Students
JavaScript Hackathon for Students
 
Creators'night#14今井
Creators'night#14今井Creators'night#14今井
Creators'night#14今井
 
Unity C#3からC#6に向けて
Unity C#3からC#6に向けてUnity C#3からC#6に向けて
Unity C#3からC#6に向けて
 
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
プログラミング技法特論第4回
プログラミング技法特論第4回プログラミング技法特論第4回
プログラミング技法特論第4回
 
Sencha study
Sencha studySencha study
Sencha study
 
CG2013 05
CG2013 05CG2013 05
CG2013 05
 
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
 

Canvas de shooting 制作のポイント