Top Banner
テーマ1 enchant.js で ゲーム作り (5 ) 2015/05/26 苫小牧高専 ソフトウェアテクノロジー部
29

苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

Jul 31, 2015

Download

Technology

Takuya Mukohira
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

テーマ1 enchant.js で ゲーム作り

(5)2015/05/26

苫小牧高専 ソフトウェアテクノロジー部

Page 2: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

今日やること

• 学科内サーバの個人用ページについて

• 次回のテーマについて

• 前回のまとめ

• クマ狩りゲームを作ろう

Page 3: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

学科内サーバの 個人用ページについて

Page 4: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

http://www/~mt12340/

Page 5: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Page 6: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

次回のテーマについて

Page 7: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Page 8: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

前回のまとめ

Page 9: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

ゲームオーバーの処理

~いよいよゲームっぽくなってきたかも~

前回のテーマ(1)

Page 10: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

シーンについて復習

• coreオブジェクトを作成。 coreオブジェクトは最初からrootSceneを持っている。

• クマさん(Sprite)やテキスト(Label)を作るたびに、core.rootSceneにaddChildしていく。

// 第1回目で書いたソースコード enchant();

window.onload = function() { var core = new Core(320, 320); core.preload('chara1.png');

core.onload = function() { // 中略

core.rootScene.addChild(bear); } core.start(); }

Page 11: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Page 12: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

クマさんを 捕まえるゲームを作ろう

今日のテーマ

Page 13: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

tnct-softech.herokuapp.com

Page 14: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

必要なもの配布1. ブラウザで http://www/~mt12340 を開く

2. クマ狩りゲーム を右クリック、保存

Page 15: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

クマさんを 捕まえるミニゲーム

Page 16: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

工程1. クマさんをランダムに表示

2. スコア機能実装

3. タイマー機能実装

Page 17: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

今までの知識を使って 改造しながら作ろう!

Page 18: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

今までの知識• rotate() や scale() を使った回転させたり、拡大縮小させたり……。

• bear.frame を操作して白クマやピンククマにしたり、走らせたり?

• 複数のクマさんを出してみたり? (ちょっと難しめかも)

Page 19: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

クマさんを ランダムに表示する

Page 20: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

main.jsenchant();

window.onload = function() { var core = new Core(320, 320); core.preload('chara1.png'); core.fps = 15;

core.onload = function () { var bear = new Sprite(32, 32); bear.x = rand(320); bear.y = rand(320); bear.frame = 0; bear.image = core.assets['chara1.png']; }

core.rootScene.addChild(bear); core.start(); }

function rand(n) { return Math.floor(Math.random() * (n + 1)); }

Page 21: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

よく使う処理を 関数にまとめる

• function 関数名(引数) { // 処理; return 処理結果; }

• 難しく考えなくてOK

• よく使う処理をまとめるもの、とだけ。

function rand(n) { return Math.floor(Math.random() * (n + 1)); }

Page 22: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

スコア表示機能を作る

Page 23: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

main.jsenchant();

window.onload = function() { // 省略

var score = 0;

core.onload = function () { // 省略 var scoreLabel = new Label('Score: 0'); scoreLabel.x = 200; scoreLabel.y = 5;

bear.on('touchstart', function() { score++; scoreLabel.text = 'Score: ' + score; this.x = rand(320); this.y = rand(320); });

core.rootScene.addChild(bear); core.rootScene.addChild(scoreLabel); } core.start(); }

// 以下省略↓

Page 24: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

制限時間をつける

Page 25: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

main.jsenchant();

window.onload = function() { // 省略

var score = 0; var timeLeft = 5 * core.fps;

core.onload = function () { // 省略

var timeLabel = new Label('Time: 0'); timeLabel.x = 5; timeLabel.y = 5;

core.on('enterframe', function() { timeLeft--; timeLabel.text = 'Time: ' + timeLeft; if (timeLeft < 0) { alert('Your score: ' + score); this.stop(); } });

// 中略 core.rootScene.addChild(bear); core.rootScene.addChild(scoreLabel); core.rootScene.addChild(timeLabel); } core.start(); } // 以下省略

Page 26: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

完成!

Page 27: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

残り時間で 改造しよう!

Page 28: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Page 29: 苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5

テーマ1 enchant.js で ゲーム作り

~完~