More Related Content
PDF
enchant.js meetup Tokyo vol.2 Tutorial PDF
Taking Killzone Shadow Fall Image Quality Into The Next Generation PDF
코드 생성을 사용해 개발 속도 높이기 NDC2011 PDF
Beginner for install DOSBox-X and PC-98 emulation. 初めてのDOSBox-XインストールとPC-98エ... ODP
PPTX
Approaching zero driver overhead PDF
PPT
Next generation graphics programming on xbox 360 What's hot
PPTX
Optimizing the Graphics Pipeline with Compute, GDC 2016 PPTX
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현 PDF
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo... PPTX
The Technology behind Shadow Warrior, ZTG 2014 PDF
【Unite Tokyo 2018】カスタムシェーダーでモバイルでも最先端グラフィックスな格闘ゲームを! PDF
BGA Studio: The BGA framework at a glance PPTX
PDF
並列クエリを実行するPostgreSQLのアーキテクチャ PDF
PDF
The Basics of Unity - The Game Engine PDF
PDF
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지 PDF
PPTX
PPT
PDF
Game Programming 07 - Procedural Content Generation PDF
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019 PDF
【Unite 2017 Tokyo】「オルタナティブガールズ」〜50cmの距離感で3D美少女を最高にかわいく魅せる方法〜 PDF
Design Patterns in Game Programming PPTX
PostGIS - National Education Center for GIS: Open Source GIS Similar to enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
PDF
PPTX
Osakijs #01 「enchant.jsハンズオン資料」 PDF
PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 4 PDF
PDF
PDF
PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1 PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 2 PPTX
ゲームづくりで短期間でフロンドエンドのスキルアップ PDF
PPT
PDF
Html canvas shooting_and_performanceup KEY
PDF
Canvas de shooting 制作のポイント PPTX
PDF
とことんF#よぷよ! F# + XNA ゲームプログラミング入門 PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5 PDF
PDF
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
- 1.
enchant.jsでゲーム制作を
はじめてみよう
「パンダの会」バージョン
2012.9.15
「パンダの会」 その七
3panda(Ryota Shiroguchi)
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
スタートアップ HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<title>enchant</title>
<script type="text/javascript" src="enchant.js"></script>
<script type="text/javascript" src="game.js"></script>
<style type="text/css">
body {
margin: 0;
}
</style>
</head>
<body>
</body>
</html>
- 9.
スタートアップ HTML
<!DOCTYPE html>
<html>
<head> enchant.js を読み込む
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<title>enchant</title>
<script type="text/javascript" src="enchant.js"></script>
<script type="text/javascript" src="game.js"></script>
<style type="text/css">
body {
margin: 0;
}
</style> 実行用jsファイル を読み込む。 ※
</head>
<body> HTMLに直接記述も可能。
</body>
</html> ※今回はgame.jsとしていますが何でもOK
- 10.
- 11.
スタートアップ game.js
enchantのお約束!
enchant();
JavaScriptのお約束!
window.onload=function(){
var game = new Game(320, 320);
//ここで初期化
game.onload = function(){
//ここにゲーム処理を書く
}
game.start();
}
- 12.
スタートアップ game.js
ゲーム(オブジェクト)を生成
enchant();
window.onload=function(){
var game = new Game(320, 320);
//ここで初期化
game.onload = function(){
//ここにゲーム処理を書く ゲーム中の処理
}
game.start();
}
ゲームをスタート!
- 13.
- 14.
- 15.
- 16.
まずはキャラの配置 game.js
var game =new Game(320, 320);
game.fps = 24;
game.preload('chara1.gif');
game.onload = function(){
//キャラクター
var bear = new Sprite(32, 32);
bear.image = game.assets['chara1.gif'];
//rootSceneに追加
game.rootScene.addChild(bear);
}
game.start();
}
- 17.
まずはキャラの配置 game.js
フレームレートの設定
var game = new Game(320, 320);
game.fps = 24; 画像のプリロード
game.preload('chara1.gif');
game.onload = function(){ スプライトの生成
//キャラクター
var bear = new Sprite(32, 32);
bear.image = game.assets['chara1.gif'];
//rootSceneに追加
game.rootScene.addChild(bear); 画像の指定
}
game.start();
※ルートシーンに追加
}
- 18.
- 19.
- 20.
- 21.
キャラを動かす キャラにイベントリスナーを追加
//bearの動きの設定 イベントはフレーム毎
bear.addEventListener(Event.ENTER_FRAME,
function() {
//左
if (game.input.left) {
this.x -= 3;
this.scaleX = -1;
}
//・・・省略・・・
});
- 22.
- 23.
- 24.
- 25.
ステージを配置する
//MAPを表示させる
var blocks =[
[ -1, -1,//省略// -1, -1, -1, -1 ],
////////////////省略/////////////////////
[ 0, 0, 0, 0,//省略// 0, 0, 0, 0 ],
[ 1, 1, 1, 1,//省略// 1, 1, 1, 1 ]
];
var map = new Map(16, 16);
map.image = game.assets["map2.gif"];
map.loadData(blocks);
- 26.
ステージを配置する 配列で表示する画像を管
理
//MAPを表示させる
var blocks = [ タイルの一コマづつ敷き
[ -1, -1,//省略// -1, -1, -1, -1 ], 詰めるように配置。
////////////////省略/////////////////////
[ 0, 0, 0, 0,//省略// 0, 0, 0, 0 ],
[ 1, 1, 1, 1,//省略// 1, 1, 1, 1 ]
];
var map = new Map(16, 16);
map.image = game.assets["map2.gif"];
map.loadData(blocks);
- 27.
ステージを配置する
//MAPを表示させる
var blocks =[
[ -1, -1,//省略// -1, -1, -1, -1 ],
////////////////省略/////////////////////
Map(オブジェクト)を生成
[ 0, 0, 0, 0,//省略// 0, 0, 0, 0 ],
[ 1, 1, 1, 1,//省略// 1, 1, 1, 1 ]
]; 画像の指定
var map = new Map(16, 16);
map.image = game.assets["map2.gif"];
map.loadData(blocks);
配列を呼び出し配置
- 28.
- 29.
- 30.
ステージを配置する
game.onload = function(){
//---------------省略-------------------//
//rootSceneに追加
game.rootScene.addChild(bear);
game.rootScene.addChild(map);
}
※ルートシーンに追加
game.start();
} ※オブジェクトは
シーンに追加する事で表示
- 31.
- 32.
- 33.
- 34.
実はクマさんも・・・
デフォルトは0(1番目)
「bear.frame = 番号」
で何番目を表示するか指定する。
- 35.
- 36.
当たり判定
//星を表示
var star =new Sprite(16, 16);
star.image = game.assets['icon0.gif'];
star.frame = [30];
//-------------------省略--------------------//
//星との当たり判定
if(this.within(star, 15)) {
label.text = '当たった!';
this.frame = 3;
}
- 37.
当たり判定 キャラを一つ追加
//星を表示
var star = new Sprite(16, 16);
star.image = game.assets['icon0.gif'];
star.frame = [30];
//-------------------省略--------------------//
//星との当たり判定
if(this.within(star, 15)) {
label.text = '当たった!';
this.frame = 3;
}
- 38.
当たり判定
//星を表示
var star =new Sprite(16, 16);
star.image = game.assets['icon0.gif']; 当たり判定の処理
star.frame = [30]; intersect,またはwithin
メソッドを利用。※
//-------------------省略--------------------//
//星との当たり判定
if(this.within(star, 15)) { ※補足
label.text = '当たった!'; ・intersec()では矩形同士の距離
・within()では中心からの距離
this.frame = 3;
}
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
ゲームスタート&ゲームオーバー
//星を表示
var star =new Sprite(16, 16);
star.image = game.assets['icon0.gif'];
//-------------------省略--------------------//
//星との当たり判定
if(this.within(star, 15)) { ゲームオーバーの
this.frame = 3; 処理
game.end();
}
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.