- 入門 -
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
PPT
дидактичні ігри по самопідготовці в гпд
PPT
Json vs Gson vs Jackson
PDF
Deep Dive Java 17 Devoxx UK
PPT
PPTX
Drools
PPT
різновікова група
PDF
An introduction to React.js
enchant.js meetup Tokyo vol.2 Tutorial
дидактичні ігри по самопідготовці в гпд
Json vs Gson vs Jackson
Deep Dive Java 17 Devoxx UK
Drools
різновікова група
An introduction to React.js

What's hot (20)

PPTX
Introduction to react_js
PDF
JavaScript guide 2020 Learn JavaScript
PDF
Spring Framework - Data Access
PPTX
1 Різновікові групи в дошкільному закладі
PDF
An introduction to Vue.js
PDF
Spring Framework - AOP
PDF
Introduction to Node JS.pdf
PPTX
Introduction to node.js
PPTX
Node js Introduction
PPT
Android | Android Activity Launch Modes and Tasks | Gonçalo Silva
PPTX
Introduction to Spring Boot
PPTX
Express JS
PDF
JavaScript Promises
PPTX
Introduction to React JS for beginners
ODP
Xke spring boot
PDF
6 things you need to know about GORM 6
PPTX
Memory Management in the Java Virtual Machine(Garbage collection)
PDF
Apache Wicket Web Framework
PDF
DBI-Assisted Android Application Reverse Engineering
PDF
Introduction to Node.js
Introduction to react_js
JavaScript guide 2020 Learn JavaScript
Spring Framework - Data Access
1 Різновікові групи в дошкільному закладі
An introduction to Vue.js
Spring Framework - AOP
Introduction to Node JS.pdf
Introduction to node.js
Node js Introduction
Android | Android Activity Launch Modes and Tasks | Gonçalo Silva
Introduction to Spring Boot
Express JS
JavaScript Promises
Introduction to React JS for beginners
Xke spring boot
6 things you need to know about GORM 6
Memory Management in the Java Virtual Machine(Garbage collection)
Apache Wicket Web Framework
DBI-Assisted Android Application Reverse Engineering
Introduction to Node.js
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
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で始めよう
Creators'night#12今井
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Creators'night#14今井
Creators'night#13 tech#2今井
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
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で始めよう

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