Submit Search
Upload
CreateJSでアプリつくった話
•
10 likes
•
8,374 views
Ru MuckRu
Follow
2014/12/20『プログラミング生放送勉強会 第32回@GMO Yours』のショートセッションで発表した内容です
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 32
Download now
Download to read offline
Recommended
GameJam攻略会議用LT[2012/12/02]
GameJam攻略会議用LT[2012/12/02]
Takuya Kato
初心者がWordPressを使って出来たこと出来なかったこと
初心者がWordPressを使って出来たこと出来なかったこと
Toshiki Tanji
ノベルゲームができるまでに ふたりでやったこと
ノベルゲームができるまでに ふたりでやったこと
Ryo Tajima
ぎっと、これから
ぎっと、これから
Ryo Tajima
個人でやる共同製作のすすめ
個人でやる共同製作のすすめ
Ryo Tajima
つくるもの
つくるもの
Miso Dengaku
自作キーキャップの世界
自作キーキャップの世界
voidkeys
がんばれガンプ ソルバルウを倒せ
がんばれガンプ ソルバルウを倒せ
Tomohiro Suzuki
Recommended
GameJam攻略会議用LT[2012/12/02]
GameJam攻略会議用LT[2012/12/02]
Takuya Kato
初心者がWordPressを使って出来たこと出来なかったこと
初心者がWordPressを使って出来たこと出来なかったこと
Toshiki Tanji
ノベルゲームができるまでに ふたりでやったこと
ノベルゲームができるまでに ふたりでやったこと
Ryo Tajima
ぎっと、これから
ぎっと、これから
Ryo Tajima
個人でやる共同製作のすすめ
個人でやる共同製作のすすめ
Ryo Tajima
つくるもの
つくるもの
Miso Dengaku
自作キーキャップの世界
自作キーキャップの世界
voidkeys
がんばれガンプ ソルバルウを倒せ
がんばれガンプ ソルバルウを倒せ
Tomohiro Suzuki
SNS 「github」で遊ぼう
SNS 「github」で遊ぼう
Tomohiko Himura
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
Hiroki Omae
コミュニティサイトを爆速で作成し、お手軽に運用する方法
コミュニティサイトを爆速で作成し、お手軽に運用する方法
Shunya Ueta
アセット作成のワークフロー
アセット作成のワークフロー
takeshi uesugi
Twitter TweetUp Tokyo 09 Fall
Twitter TweetUp Tokyo 09 Fall
kirifeather
kiri_feather's LT in TweetUp Tokyo 09 Fall
kiri_feather's LT in TweetUp Tokyo 09 Fall
kirifeather
Roll a-ball-custom-1st dev-2018-forrakugaku2017
Roll a-ball-custom-1st dev-2018-forrakugaku2017
Jun Shimura
StoryboardでUIを使いまわす
StoryboardでUIを使いまわす
Masaki Fuke
初めてのConcrete5
初めてのConcrete5
Nobuko Kodera
Fukuokapm20140920 uzulla talk
Fukuokapm20140920 uzulla talk
Junichi Ishida
Raspberry piでlチカしてみた
Raspberry piでlチカしてみた
森下 智裕
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
Toshio Ehara
もちょブログ解析入門
もちょブログ解析入門
sudosan
ご注文はライブラリですか?
ご注文はライブラリですか?
orekyuu
初めてのLT in PHP Matsuri2013
初めてのLT in PHP Matsuri2013
Hiroyuki Kiyomizu
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
Kazuki Higashiguchi
一ヶ月Blender サイト用
一ヶ月Blender サイト用
abc-on
Make TypingGame in JavaScript
Make TypingGame in JavaScript
undertale1
【構想メモ】C97「同人作家が知っておきたい検索エンジンの知識」
【構想メモ】C97「同人作家が知っておきたい検索エンジンの知識」
fuguti
僕がwordpressを選んだ理由
僕がwordpressを選んだ理由
jsugiyama
実際にSoundJSを使ってみて分かったこと
実際にSoundJSを使ってみて分かったこと
Yoshiya OKI
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
More Related Content
What's hot
SNS 「github」で遊ぼう
SNS 「github」で遊ぼう
Tomohiko Himura
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
Hiroki Omae
コミュニティサイトを爆速で作成し、お手軽に運用する方法
コミュニティサイトを爆速で作成し、お手軽に運用する方法
Shunya Ueta
アセット作成のワークフロー
アセット作成のワークフロー
takeshi uesugi
Twitter TweetUp Tokyo 09 Fall
Twitter TweetUp Tokyo 09 Fall
kirifeather
kiri_feather's LT in TweetUp Tokyo 09 Fall
kiri_feather's LT in TweetUp Tokyo 09 Fall
kirifeather
Roll a-ball-custom-1st dev-2018-forrakugaku2017
Roll a-ball-custom-1st dev-2018-forrakugaku2017
Jun Shimura
StoryboardでUIを使いまわす
StoryboardでUIを使いまわす
Masaki Fuke
初めてのConcrete5
初めてのConcrete5
Nobuko Kodera
Fukuokapm20140920 uzulla talk
Fukuokapm20140920 uzulla talk
Junichi Ishida
Raspberry piでlチカしてみた
Raspberry piでlチカしてみた
森下 智裕
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
Toshio Ehara
もちょブログ解析入門
もちょブログ解析入門
sudosan
ご注文はライブラリですか?
ご注文はライブラリですか?
orekyuu
初めてのLT in PHP Matsuri2013
初めてのLT in PHP Matsuri2013
Hiroyuki Kiyomizu
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
Kazuki Higashiguchi
一ヶ月Blender サイト用
一ヶ月Blender サイト用
abc-on
Make TypingGame in JavaScript
Make TypingGame in JavaScript
undertale1
【構想メモ】C97「同人作家が知っておきたい検索エンジンの知識」
【構想メモ】C97「同人作家が知っておきたい検索エンジンの知識」
fuguti
僕がwordpressを選んだ理由
僕がwordpressを選んだ理由
jsugiyama
What's hot
(20)
SNS 「github」で遊ぼう
SNS 「github」で遊ぼう
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
インド人のために 分でレースゲー作れるようにしてみた/UnityおとなのLT大会2
コミュニティサイトを爆速で作成し、お手軽に運用する方法
コミュニティサイトを爆速で作成し、お手軽に運用する方法
アセット作成のワークフロー
アセット作成のワークフロー
Twitter TweetUp Tokyo 09 Fall
Twitter TweetUp Tokyo 09 Fall
kiri_feather's LT in TweetUp Tokyo 09 Fall
kiri_feather's LT in TweetUp Tokyo 09 Fall
Roll a-ball-custom-1st dev-2018-forrakugaku2017
Roll a-ball-custom-1st dev-2018-forrakugaku2017
StoryboardでUIを使いまわす
StoryboardでUIを使いまわす
初めてのConcrete5
初めてのConcrete5
Fukuokapm20140920 uzulla talk
Fukuokapm20140920 uzulla talk
Raspberry piでlチカしてみた
Raspberry piでlチカしてみた
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
もちょブログ解析入門
もちょブログ解析入門
ご注文はライブラリですか?
ご注文はライブラリですか?
初めてのLT in PHP Matsuri2013
初めてのLT in PHP Matsuri2013
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
一ヶ月Blender サイト用
一ヶ月Blender サイト用
Make TypingGame in JavaScript
Make TypingGame in JavaScript
【構想メモ】C97「同人作家が知っておきたい検索エンジンの知識」
【構想メモ】C97「同人作家が知っておきたい検索エンジンの知識」
僕がwordpressを選んだ理由
僕がwordpressを選んだ理由
Viewers also liked
実際にSoundJSを使ってみて分かったこと
実際にSoundJSを使ってみて分かったこと
Yoshiya OKI
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
Web ads mobile 2013 vizeum
Web ads mobile 2013 vizeum
aussieaussie11
International Space Apps Challenge Tokyo 2013 - Ideathon Briefing
International Space Apps Challenge Tokyo 2013 - Ideathon Briefing
Isana Kashiwai
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Tomoaki Shimizu
DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)
denatech2016
Vue.js 2.0を試してみた
Vue.js 2.0を試してみた
Toshiro Shimizu
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Yahoo!デベロッパーネットワーク
Vue.js入門
Vue.js入門
Takuya Sato
ES6 in Practice
ES6 in Practice
Teppei Sato
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
gree_tech
「望ましさ」による優先順位づけ
「望ましさ」による優先順位づけ
Arata Fujimura
Viewers also liked
(12)
実際にSoundJSを使ってみて分かったこと
実際にSoundJSを使ってみて分かったこと
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
Web ads mobile 2013 vizeum
Web ads mobile 2013 vizeum
International Space Apps Challenge Tokyo 2013 - Ideathon Briefing
International Space Apps Challenge Tokyo 2013 - Ideathon Briefing
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)
Vue.js 2.0を試してみた
Vue.js 2.0を試してみた
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Vue.js入門
Vue.js入門
ES6 in Practice
ES6 in Practice
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
「望ましさ」による優先順位づけ
「望ましさ」による優先順位づけ
Similar to CreateJSでアプリつくった話
(業務外)ゲーム制作部のススメ
(業務外)ゲーム制作部のススメ
Yusuke HIDESHIMA
ゲームデザインについて
ゲームデザインについて
meyco
スマホサイトを作って学ぶ、サイト制作入門 (制作編) 先生:池田 祐太郎
スマホサイトを作って学ぶ、サイト制作入門 (制作編) 先生:池田 祐太郎
schoowebcampus
Rubymotion
Rubymotion
jewel12
Windows phoneファーストインプレッション
Windows phoneファーストインプレッション
高見 知英
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
Madoka Chiyoda
Similar to CreateJSでアプリつくった話
(6)
(業務外)ゲーム制作部のススメ
(業務外)ゲーム制作部のススメ
ゲームデザインについて
ゲームデザインについて
スマホサイトを作って学ぶ、サイト制作入門 (制作編) 先生:池田 祐太郎
スマホサイトを作って学ぶ、サイト制作入門 (制作編) 先生:池田 祐太郎
Rubymotion
Rubymotion
Windows phoneファーストインプレッション
Windows phoneファーストインプレッション
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
CreateJSでアプリつくった話
1.
CreateJSでアプリつくった話 スマホブラウザゲーつくろう! @ru_shalm 2014/12/20 プログラミング生放送勉強会 第32回@GMO Yours
2.
わたしはだぁれ? • Ru/むっくRu(@ru_shalm) • るたんですよー • フリーゲームつくってます • 謎サイトもつくってます • Rubyかわいい!!
3.
どういうわけか ブラウザで動くゲームつくりたいー → しかもスマホで! → どこから手を付けたらいいの。。 →
[HTML5 なに 無料] [検索] \どうする/
4.
(僕に)選ばれたのは http://www.createjs.com
5.
CreateJS #とは • JSライブラリの集まり • Webでグイーン!な表現 ≒Flashがやってたことをやる
6.
Flashを置き換える(?)CreateJS
7.
注意 • あくまでWeb用のライブラリ • ゲーム専用ライブラリじゃないよ • だからゲーム専用命令はないよ • シーンとかは自分でつくるよ \でも公式にゲームのデモあるよ/
8.
最新のCreateJSの状況です • 先週アップデート!!!! • WebGL対応とか高速化とか • ver.1.0に向けて着々進んでいるらしい • 僕の知識が間に合ってない • 内容古かったらごめんね • 耐えて!!!
9.
そんなCreateJSでつくりました • 『発火フォール』 • http://bit.ly/hackafall ハッカドール賞もらいました!うれしい!
10.
おさらい(?) <画面を出す>
11.
1. HTMLを用意します <!DOCTYPE html> <html> <head> <meta
charset="utf-8"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> </head> <body> <canvas id="game-screen" width="320" height="320"> </canvas> <script src="https://code.createjs.com/ easeljs-0.8.0.min.js"></script> <script src="./app.js"></script> </body> </html>
12.
2. 最低限のJSを書きます var canvas
= document.getElementById('game-screen'); var stage = new createjs.Stage(canvas); var bitmap = new createjs.Bitmap('./ru_shalm.png'); stage.addChild(bitmap); createjs.Ticker.addEventListener('tick', function() { // TODO: ここに毎フレームの更新処理 self.stage.update(); });
13.
3. なんか出た
14.
画面に何かを写す • 表示リストに写すものをペタリ • Flash的なアレ Canvas(createjs.Stage) ru_shalm.png (createjs.Bitmap) addChid
15.
Containerを使って部品化 • Androidの独自Viewみたいな • あちこち使いまわせて便利 stage MyButton (createjs.Container) ツイートする ツイートする
16.
じゃあこれは? \めんどくさそう/
17.
ビットマップテキスト • createjs.BitmapText • =画像フォント • 画像ファイル + 座標情報 • 今回はスコア数字だけ用意
18.
かっこいい演出は? • ParticleEmitterJS • http://bit.ly/ 1wO53VI • パーティクル • 設定ツール • Web上で使える
19.
ParticleEmitterJSはつらみがある • 同時再生数制限 • 1個ずつしか出ない • 自分で潰した • 加算合成じゃない • 自分で(ry • 最新版で動かない • く(x △ x)
> ウワアアアアア
20.
ゲームは音が付くと たのしい
21.
音は任せろー(バリバリ • 4兄弟の1人SoundJS • 環境毎に様々な手段で音を鳴らす // 前提: PreloadJSでbgm.m4aが読み込まれていること
var sound = createjs.Sound.createInstance('bgm'); // 無限ループ再生 sound.play(loop: -1);
22.
iOS < やめて! • iOSでBGMが鳴らない???? • タッチ時に再生を開始しないとダメ •
一度でも鳴らせば以降はいつでもOK sound.play(); // これが初回ではダメ button.addEventListener('click', function(){ sound.play(); // これならOK });
23.
面倒なので • ボタンを押すまで 音が鳴らないように • ボタン押すとピュ♪
24.
音声の対応形式に注意 • コーデックとかブラウザ依存 • スマホだったら大体.m4a(AAC)でおk • Firefoxはoggだけどな! • 複数の形式を用意すれば完璧 // ダメだったときに別の拡張子も試す createjs.Sound.alternateExtensions
= ['ogg'];
25.
CreateJSに 関係ないオマケ
26.
ブラウザの画面サイズに合わせるとき • <canvas>をCSSで画面サイズにする • 例) 発火フォールの場合 • 発火フォールの内部設定: 360x576 • スマホの画面サイズ:
540x960 → <canvas>を540x864にスケール (画面に入りきる最大にする)
27.
ブラウザの画面サイズに合わせるとき • 画面サイズ変わったらCSS変更? • URLバー表示/非表示のたびに実行! • クソ重い!!💢 • 発火フォールでは • 縦幅しか変わらないとき→無視
28.
まとめ
29.
まとめ • CreateJSいい子 • スマホブラウザゲー現実的だよ • Flashゲー全盛期みたいに盛り上がろう! • Webでハッピーになろう • なりたい(願望)
30.
<おわり> CreateJSでアプリつくった話 @ru_shalm 2014/12/20 プログラミング生放送勉強会 第32回@GMO Yours
31.
付録:質疑応答とか1 • Q.なんでUnityじゃないの? • A.2014年の今!このとき! スマホブラウザで動かしたいなう! (Unity 5にご期待ください)
32.
付録:質疑応答とか2 • Q.URLバー自動隠しとかしないの? • A.今のiOSはViewportに設定があるよ Androidは魔法が必要そうだし 諦めてます>< <meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum- scale=1.0, user-scalable=0, minimal-ui">
Download now