- 入門 -
enchant.js でゲームを作ろう

            by nico
     2013.02.25 @ TechBuzz




              1/21
自己紹介

名前:nico(@nico0927)
仕事:WEB ディレクター
   (フリーランス)


分野:企画~デザイン~サーバーサイドまで
   浅く広く。元は HTML+CSS+JS コーダー。
最近:WEB 制作・WEB リテラシー講座の講師。
   WEB マーケティング勉強中。


               2/21
ゲームを作ってみたい!




C/C++/Objective-C ?
OpenGL ? めんどくさい!




           もっと簡単に作れないの?



               3/21
enchant.js          http://enchantjs.com




 HTML5 + JS ベースのゲーム開発ライブラリ
     オープンソース(MIT ライセンス)


             4/21
enchant.js なら ...

   ブラウザ + エディタだけで開発できる
      Win/Mac・iOS/Android 対応
 Firefox・Chrome・Safari・IE9 ~ etc... 対応
           豊富なプラグイン




                  5/21
できました!




「つちねこ集め」     「SUPER TAINYANS」



           6/21
- 解説 1 -
enchant.js の使い方



      7/21
まずは読み込み
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title> テストゲーム </title>
</head>
<body>
  <div id="enchant-stage"></div>

  <script src="enchant.js"></script>
  <script src="test.game.js"></script>
</body>          新規作成
</html>

                          8/21
test.game.js の中身
enchant();

window.onload = function(){
  var game = new Game(320, 320);

    game.onload = function(){
      // ここにゲーム内容を書いてく
    }

    game.start();
}




                       9/21
ステージに何かを表示する
enchant();

window.onload = function(){
  var game = new Game(320, 320);
  game.preload('chara1.png');// ゲームで使う素材を読み込む

    game.onload = function(){
      var kuma = new Sprite(32,32);
      kuma.image = game.assets['chara1.png'];
      game.rootScene.addChild(kuma);// クマを配置
    }

    game.start();
}


                           10/21
表示したものをキー入力で動かす

// キー入力でクマを動かす
kuma.onenterframe = function(){
  if(game.input.right){
     this.x += 1;
  }
}




                         11/21
- 解説 2 -
enchant.js の特徴の一つ
 “クラス定義と継承”



       12/21
JS でのクラス定義と継承
Kuma = function(){                プロトタイプベース
}
Kuma.prototype.gaooo = function(){
  alert(" ガオオオ! ");
}

Higma = function(){
}
Higma.prototype = new Kuma(); ← 継承!

var higma = new Higma();
higma.gaooo();




                           13/21
enchant.js でのクラス定義と継承
Kuma = Class.create({                 クラスベースっぽく
    initialize: function(){
    },                                     書ける!
    gaooo: function(){
       alert(" ガオオオ! ");
    }
});

Higma = Class.create(Kuma,{ ← 継承!
    initialize:function(){
    }
});

var higma = new Higma();
higma.gaooo();

                              14/21
- 解説 3 -
便利なプラグイン



    15/21
enchant.js の後に読み込んで使う
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title> テストゲーム </title>
</head>
<body>
  <div id="enchant-stage"></div>

  <script src="enchant.js"></script>
  <script src="ui.enchant.js"></script>
  <script src="test.game.js"></script>
</body>
</html>


                              16/21
ui.enchant.js

 タッチパッド表示用のプラグイン
(公式サイトからダウンロードの zip に同梱)

var pad = new Pad();
pad.moveTo(10,370);
game.rootScene.addChild(pad);

とかで、ステージにパッドを設置。
→ スマホから操作可能に!

※別途、ui.enchant.js 内でパッド
 画像へのパスを通す


                       17/21
tl.enchant.js

 時間に沿った動きを管理するプラグイン
(ui ~と同じくダウンロードの zip に同梱)

(例)
 higma.tl.delay(24).then(function(){
     this.gaooo();
 });

 → 24 フレーム後(game.fps = 24 なら 1 秒後)
   にガオオオ!発動




                            18/21
- まとめ -
本日の要点



  19/21
→ enchant.js ならゲーム開発が超手軽に
   (しかもマルチプラットフォーム)

→ 独自のクラス定義でクラスベースっぽく書ける

  → 同梱のプラグインで楽々カスタマイズ




             20/21
- おしまい -

- 入門 - enchant.js でゲームを作ろう
    by nico(@nico0927)



           21/21

More Related Content

PDF
enchant.js meetup Tokyo vol.2 Tutorial
PDF
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
PDF
051 Kotta Heroyin 01 03
PDF
Attaa maamalu-01-02
PDF
YEDI VITTHITHE ADI KOSTHAAM
PDF
Attatoa dippadu
PDF
Boa nee
PDF
Divanam 01-03
enchant.js meetup Tokyo vol.2 Tutorial
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
051 Kotta Heroyin 01 03
Attaa maamalu-01-02
YEDI VITTHITHE ADI KOSTHAAM
Attatoa dippadu
Boa nee
Divanam 01-03

What's hot (20)

PDF
Anna bhaaryato
PDF
Atanito 01-04
PDF
Aids 01-12
PDF
Bhanumati attagaru
PDF
025 bra
PDF
Andaala amma
PDF
025 kamala
PDF
React - Introdução
PDF
171 oke-kutumbam-06
PDF
Amma manasu
PDF
Aeman dee ekkadunnaaru
PDF
Disco shanti
PDF
Anuvaada katha
PDF
Facebook은 React를 왜 만들었을까?
PDF
Evari daggaraku vellaali_javaabu
PDF
023 teerina -tee ta
PDF
College raging-1
PDF
Avakaa sam
PDF
Drawing teacher-01-03
PDF
Dulist varalakshmi-01-03
Anna bhaaryato
Atanito 01-04
Aids 01-12
Bhanumati attagaru
025 bra
Andaala amma
025 kamala
React - Introdução
171 oke-kutumbam-06
Amma manasu
Aeman dee ekkadunnaaru
Disco shanti
Anuvaada katha
Facebook은 React를 왜 만들었을까?
Evari daggaraku vellaali_javaabu
023 teerina -tee ta
College raging-1
Avakaa sam
Drawing teacher-01-03
Dulist varalakshmi-01-03
Ad

Viewers also liked (20)

PDF
ウェブデザインの本質と、構成要素
PDF
Webライティング11のルール
KEY
これくらいはやってほしいWebデザイン
PPTX
UI設計の土台になる考え方-インテリジェントネット社内勉強会
PDF
コーディングを考慮したWebデザインガイドライン
PDF
Webデザインのセオリーを学ぼう
PDF
HTML5時代の技術の恩恵を受けるには
PDF
WebフォントとSVGフォント
PDF
CSSにもオブジェクト指向を - OOCSSことはじめ
PDF
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
PDF
ディレクターからみたMovable Type + PowerCMSの優位性
PDF
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法
KEY
ノンデザイナーのための配色理論
PPTX
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
PDF
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
PDF
Chromeでjavascriptデバッグ!まず半歩♪
PDF
レコメンデーション(協調フィルタリング)の基礎
PDF
Photoshopで効率よくデザインしよう!
PDF
.htaccessによるリダイレクト徹底解説
PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
ウェブデザインの本質と、構成要素
Webライティング11のルール
これくらいはやってほしいWebデザイン
UI設計の土台になる考え方-インテリジェントネット社内勉強会
コーディングを考慮したWebデザインガイドライン
Webデザインのセオリーを学ぼう
HTML5時代の技術の恩恵を受けるには
WebフォントとSVGフォント
CSSにもオブジェクト指向を - OOCSSことはじめ
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
ディレクターからみたMovable Type + PowerCMSの優位性
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法
ノンデザイナーのための配色理論
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
Chromeでjavascriptデバッグ!まず半歩♪
レコメンデーション(協調フィルタリング)の基礎
Photoshopで効率よくデザインしよう!
.htaccessによるリダイレクト徹底解説
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
Ad

Similar to -入門- enchant.js でゲームを作ろう (20)

PDF
Creators'night#12今井
PPTX
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
PDF
Creators'night#14今井
PDF
Creators'night#13 tech#2今井
PDF
enchant.jsでゲーム制作をはじめてみよう
PDF
node+socket.io+enchant.jsでチャットゲーを作る
PDF
JavaFX 2.0 への誘い
PDF
【ネイティブアドを支えるPhantomJS】
PPTX
13016 n分で作るtype scriptでnodejs
PDF
Jqm20120210
KEY
Arctic.js
PDF
何が変わった JavaFX 2.0
PDF
2012 03-03-titanium plusquicktigame2d
PDF
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
PDF
CodeIgniterによるPhwittr
PPTX
Osakijs #01 「enchant.jsハンズオン資料」
PDF
Native x Webでいいとこどり開発 ~ピグトーク~
PDF
Android Lecture #04 @PRO&BSC Inc.
PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
PPTX
Unityのポストエフェクトで遊ぶ!
Creators'night#12今井
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Creators'night#14今井
Creators'night#13 tech#2今井
enchant.jsでゲーム制作をはじめてみよう
node+socket.io+enchant.jsでチャットゲーを作る
JavaFX 2.0 への誘い
【ネイティブアドを支えるPhantomJS】
13016 n分で作るtype scriptでnodejs
Jqm20120210
Arctic.js
何が変わった JavaFX 2.0
2012 03-03-titanium plusquicktigame2d
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
CodeIgniterによるPhwittr
Osakijs #01 「enchant.jsハンズオン資料」
Native x Webでいいとこどり開発 ~ピグトーク~
Android Lecture #04 @PRO&BSC Inc.
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
Unityのポストエフェクトで遊ぶ!

-入門- enchant.js でゲームを作ろう