Enviar búsqueda
Cargar
㉔cocos2dでゲームを作ろう!その2
•
2 recomendaciones
•
4,619 vistas
Nishida Kansuke
Seguir
https://www.facebook.com/TonosamaLabo
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 58
Recomendados
㉖cocos2dを覚えよう!
㉖cocos2dを覚えよう!
Nishida Kansuke
㉕cocos2dを覚えよう!初級編③
㉕cocos2dを覚えよう!初級編③
Nishida Kansuke
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
Nishida Kansuke
週末プログラミングで作るカジュアルゲーム~シューティング編~
週末プログラミングで作るカジュアルゲーム~シューティング編~
Nohina Hidenari
Unity2015_No7_~Unity2D~
Unity2015_No7_~Unity2D~
CHY72
Unityクリエイターズ勉強会【2/2】【関西】発表資料
Unityクリエイターズ勉強会【2/2】【関西】発表資料
Masataka Motokurumada
週末プログラミングで作るカジュアルゲーム~レーシング編~
週末プログラミングで作るカジュアルゲーム~レーシング編~
Nohina Hidenari
Aiwolf seminar 2019_ja
Aiwolf seminar 2019_ja
Takedaatsushi
Recomendados
㉖cocos2dを覚えよう!
㉖cocos2dを覚えよう!
Nishida Kansuke
㉕cocos2dを覚えよう!初級編③
㉕cocos2dを覚えよう!初級編③
Nishida Kansuke
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
Nishida Kansuke
週末プログラミングで作るカジュアルゲーム~シューティング編~
週末プログラミングで作るカジュアルゲーム~シューティング編~
Nohina Hidenari
Unity2015_No7_~Unity2D~
Unity2015_No7_~Unity2D~
CHY72
Unityクリエイターズ勉強会【2/2】【関西】発表資料
Unityクリエイターズ勉強会【2/2】【関西】発表資料
Masataka Motokurumada
週末プログラミングで作るカジュアルゲーム~レーシング編~
週末プログラミングで作るカジュアルゲーム~レーシング編~
Nohina Hidenari
Aiwolf seminar 2019_ja
Aiwolf seminar 2019_ja
Takedaatsushi
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
Yusuke HIDESHIMA
PlayStation Mobile現況および今後の展開について_SCE
PlayStation Mobile現況および今後の展開について_SCE
IGDA Japan
幽霊の棲む家 技術資料
幽霊の棲む家 技術資料
MaxNeetGames
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
Ryota Shiroguchi
ブロックバスター制作資料
ブロックバスター制作資料
MaxNeetGames
Aiwolfseminar2020
Aiwolfseminar2020
Takedaatsushi
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
zecl1231
2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d
Hiroshi Oyamada
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
Unite2017Tokyo
20200923 inahata
20200923 inahata
beyond Co., Ltd.
0621 ndk game
0621 ndk game
cat kaotaro
Live2d in unity
Live2d in unity
kden_
Ogre3d 基礎
Ogre3d 基礎
kw
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
Android gameprogramming
Android gameprogramming
Masahiro Hidaka
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
nico0927
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
Katsushi Suzuki
Introduction for cocos2d
Introduction for cocos2d
佐藤 俊太郎
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
Katsushi Suzuki
Vue.js でタイマーを作る
Vue.js でタイマーを作る
mizdra
Ustreamで広報力UP講座資料
Ustreamで広報力UP講座資料
Takeo Noda
jsおじさん#5 ペッパーとjavascript
jsおじさん#5 ペッパーとjavascript
Nishida Kansuke
Más contenido relacionado
La actualidad más candente
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
Yusuke HIDESHIMA
PlayStation Mobile現況および今後の展開について_SCE
PlayStation Mobile現況および今後の展開について_SCE
IGDA Japan
幽霊の棲む家 技術資料
幽霊の棲む家 技術資料
MaxNeetGames
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
Ryota Shiroguchi
ブロックバスター制作資料
ブロックバスター制作資料
MaxNeetGames
Aiwolfseminar2020
Aiwolfseminar2020
Takedaatsushi
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
zecl1231
2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d
Hiroshi Oyamada
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
Unite2017Tokyo
20200923 inahata
20200923 inahata
beyond Co., Ltd.
0621 ndk game
0621 ndk game
cat kaotaro
Live2d in unity
Live2d in unity
kden_
Ogre3d 基礎
Ogre3d 基礎
kw
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
Android gameprogramming
Android gameprogramming
Masahiro Hidaka
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
nico0927
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
Katsushi Suzuki
Introduction for cocos2d
Introduction for cocos2d
佐藤 俊太郎
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
Katsushi Suzuki
Vue.js でタイマーを作る
Vue.js でタイマーを作る
mizdra
La actualidad más candente
(20)
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
PlayStation Mobile現況および今後の展開について_SCE
PlayStation Mobile現況および今後の展開について_SCE
幽霊の棲む家 技術資料
幽霊の棲む家 技術資料
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
enchant.jsでゲーム制作をはじめてみよう 「パンダの会」バージョン
ブロックバスター制作資料
ブロックバスター制作資料
Aiwolfseminar2020
Aiwolfseminar2020
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
20200923 inahata
20200923 inahata
0621 ndk game
0621 ndk game
Live2d in unity
Live2d in unity
Ogre3d 基礎
Ogre3d 基礎
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Android gameprogramming
Android gameprogramming
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
Introduction for cocos2d
Introduction for cocos2d
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
Vue.js でタイマーを作る
Vue.js でタイマーを作る
Destacado
Ustreamで広報力UP講座資料
Ustreamで広報力UP講座資料
Takeo Noda
jsおじさん#5 ペッパーとjavascript
jsおじさん#5 ペッパーとjavascript
Nishida Kansuke
Mizuho.hack 未来の銀行に必要なサービス
Mizuho.hack 未来の銀行に必要なサービス
Nishida Kansuke
Underwater Beauties
Underwater Beauties
katalinszilard
過疎集落の再生や地域づくり活動における動画活用
過疎集落の再生や地域づくり活動における動画活用
Takeo Noda
USTREAM配信のシチューエーション別おすすめ構成
USTREAM配信のシチューエーション別おすすめ構成
Takeo Noda
Socialmedia Meetup! in TOKUSHIMA vol.02 2015開催概要資料
Socialmedia Meetup! in TOKUSHIMA vol.02 2015開催概要資料
Takeo Noda
ICT経営革新セミナーYouTubeによる販売促進術
ICT経営革新セミナーYouTubeによる販売促進術
Takeo Noda
Smart canvasで作るカジュアルゲーム
Smart canvasで作るカジュアルゲーム
Nishida Kansuke
㉟cocos2d-x勉強会:簡単なアプリをつくってみよう
㉟cocos2d-x勉強会:簡単なアプリをつくってみよう
Nishida Kansuke
Produksi iklan audio visual
Produksi iklan audio visual
Ricky Putra
Makin pinter wpap day 2
Makin pinter wpap day 2
Ricky Putra
ペッパービンゴ【ペッパーアプリコンテスト2015決勝進出作品】
ペッパービンゴ【ペッパーアプリコンテスト2015決勝進出作品】
Nishida Kansuke
ロボ年表を作ってみた
ロボ年表を作ってみた
Nishida Kansuke
⑧Unityを使ってみよう(その2)
⑧Unityを使ってみよう(その2)
Nishida Kansuke
Destacado
(15)
Ustreamで広報力UP講座資料
Ustreamで広報力UP講座資料
jsおじさん#5 ペッパーとjavascript
jsおじさん#5 ペッパーとjavascript
Mizuho.hack 未来の銀行に必要なサービス
Mizuho.hack 未来の銀行に必要なサービス
Underwater Beauties
Underwater Beauties
過疎集落の再生や地域づくり活動における動画活用
過疎集落の再生や地域づくり活動における動画活用
USTREAM配信のシチューエーション別おすすめ構成
USTREAM配信のシチューエーション別おすすめ構成
Socialmedia Meetup! in TOKUSHIMA vol.02 2015開催概要資料
Socialmedia Meetup! in TOKUSHIMA vol.02 2015開催概要資料
ICT経営革新セミナーYouTubeによる販売促進術
ICT経営革新セミナーYouTubeによる販売促進術
Smart canvasで作るカジュアルゲーム
Smart canvasで作るカジュアルゲーム
㉟cocos2d-x勉強会:簡単なアプリをつくってみよう
㉟cocos2d-x勉強会:簡単なアプリをつくってみよう
Produksi iklan audio visual
Produksi iklan audio visual
Makin pinter wpap day 2
Makin pinter wpap day 2
ペッパービンゴ【ペッパーアプリコンテスト2015決勝進出作品】
ペッパービンゴ【ペッパーアプリコンテスト2015決勝進出作品】
ロボ年表を作ってみた
ロボ年表を作ってみた
⑧Unityを使ってみよう(その2)
⑧Unityを使ってみよう(その2)
Similar a ㉔cocos2dでゲームを作ろう!その2
㉓cocos2dでゲームを作ろう!その1
㉓cocos2dでゲームを作ろう!その1
Nishida Kansuke
enchant.js meetup Tokyo vol.2 Tutorial
enchant.js meetup Tokyo vol.2 Tutorial
Ryo Shimizu
初心者向けゲームジャム攻略法
初心者向けゲームジャム攻略法
hima_zinn
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
勝成 鈴江
Cocos2dを使ったi phoneゲーム開発手法
Cocos2dを使ったi phoneゲーム開発手法
Nishida Kansuke
Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Yutaka Yasuda
Similar a ㉔cocos2dでゲームを作ろう!その2
(6)
㉓cocos2dでゲームを作ろう!その1
㉓cocos2dでゲームを作ろう!その1
enchant.js meetup Tokyo vol.2 Tutorial
enchant.js meetup Tokyo vol.2 Tutorial
初心者向けゲームジャム攻略法
初心者向けゲームジャム攻略法
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
Cocos2dを使ったi phoneゲーム開発手法
Cocos2dを使ったi phoneゲーム開発手法
Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
Más de Nishida Kansuke
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#3】
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#3】
Nishida Kansuke
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#1】資料
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#1】資料
Nishida Kansuke
デブサミ2017 【16-D-5】複数台のロボットと音楽をする取り組み(太田智美・西田寛輔) -
デブサミ2017 【16-D-5】複数台のロボットと音楽をする取り組み(太田智美・西田寛輔) -
Nishida Kansuke
20170131 新潟セミナー
20170131 新潟セミナー
Nishida Kansuke
PHP×コミニュケーションロボット
PHP×コミニュケーションロボット
Nishida Kansuke
20160314 すしルート#3 資料
20160314 すしルート#3 資料
Nishida Kansuke
Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」
Nishida Kansuke
【3/13】【女性限定】ロボットで、何が出来る?ペッパーにふれてみよう&ミニアイデアソン【とのさまラボ】 powered by 朝日新聞メディアラボ
【3/13】【女性限定】ロボットで、何が出来る?ペッパーにふれてみよう&ミニアイデアソン【とのさまラボ】 powered by 朝日新聞メディアラボ
Nishida Kansuke
忍者ゲーム【ペッパーアプリコンテスト2015決勝進出作品】
忍者ゲーム【ペッパーアプリコンテスト2015決勝進出作品】
Nishida Kansuke
JSを使ったアプリ開発!(JSオジサン#3)
JSを使ったアプリ開発!(JSオジサン#3)
Nishida Kansuke
ハッカソン発表資料(朝日新聞 × モバイルファクトリー 異業種ハッカソン!)
ハッカソン発表資料(朝日新聞 × モバイルファクトリー 異業種ハッカソン!)
Nishida Kansuke
iBeaconを使ったアプリ開発
iBeaconを使ったアプリ開発
Nishida Kansuke
㊱タイルマップに挑戦
㊱タイルマップに挑戦
Nishida Kansuke
クリスマスハッカソン2013:サンタロスをUNITYで作った
クリスマスハッカソン2013:サンタロスをUNITYで作った
Nishida Kansuke
㉞cocos2d-xの開発環境をインストールしてみよう
㉞cocos2d-xの開発環境をインストールしてみよう
Nishida Kansuke
㉝“知育アプリを作ろう! Kwikで作るデジタル絵本” 勉強会②
㉝“知育アプリを作ろう! Kwikで作るデジタル絵本” 勉強会②
Nishida Kansuke
facebookを安全に使おう!
facebookを安全に使おう!
Nishida Kansuke
モダン記法で簡単プログラミング!
モダン記法で簡単プログラミング!
Nishida Kansuke
㉜知育アプリを作ろう! Kwikで作るデジタル絵本
㉜知育アプリを作ろう! Kwikで作るデジタル絵本
Nishida Kansuke
㉛Xcodeを覚えよう!簡単なアプリを作ってみよう!②
㉛Xcodeを覚えよう!簡単なアプリを作ってみよう!②
Nishida Kansuke
Más de Nishida Kansuke
(20)
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#3】
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#3】
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#1】資料
【東京】ドコモのAIエージェント基盤「セバスチャン」勉強会【#1】資料
デブサミ2017 【16-D-5】複数台のロボットと音楽をする取り組み(太田智美・西田寛輔) -
デブサミ2017 【16-D-5】複数台のロボットと音楽をする取り組み(太田智美・西田寛輔) -
20170131 新潟セミナー
20170131 新潟セミナー
PHP×コミニュケーションロボット
PHP×コミニュケーションロボット
20160314 すしルート#3 資料
20160314 すしルート#3 資料
Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」
【3/13】【女性限定】ロボットで、何が出来る?ペッパーにふれてみよう&ミニアイデアソン【とのさまラボ】 powered by 朝日新聞メディアラボ
【3/13】【女性限定】ロボットで、何が出来る?ペッパーにふれてみよう&ミニアイデアソン【とのさまラボ】 powered by 朝日新聞メディアラボ
忍者ゲーム【ペッパーアプリコンテスト2015決勝進出作品】
忍者ゲーム【ペッパーアプリコンテスト2015決勝進出作品】
JSを使ったアプリ開発!(JSオジサン#3)
JSを使ったアプリ開発!(JSオジサン#3)
ハッカソン発表資料(朝日新聞 × モバイルファクトリー 異業種ハッカソン!)
ハッカソン発表資料(朝日新聞 × モバイルファクトリー 異業種ハッカソン!)
iBeaconを使ったアプリ開発
iBeaconを使ったアプリ開発
㊱タイルマップに挑戦
㊱タイルマップに挑戦
クリスマスハッカソン2013:サンタロスをUNITYで作った
クリスマスハッカソン2013:サンタロスをUNITYで作った
㉞cocos2d-xの開発環境をインストールしてみよう
㉞cocos2d-xの開発環境をインストールしてみよう
㉝“知育アプリを作ろう! Kwikで作るデジタル絵本” 勉強会②
㉝“知育アプリを作ろう! Kwikで作るデジタル絵本” 勉強会②
facebookを安全に使おう!
facebookを安全に使おう!
モダン記法で簡単プログラミング!
モダン記法で簡単プログラミング!
㉜知育アプリを作ろう! Kwikで作るデジタル絵本
㉜知育アプリを作ろう! Kwikで作るデジタル絵本
㉛Xcodeを覚えよう!簡単なアプリを作ってみよう!②
㉛Xcodeを覚えよう!簡単なアプリを作ってみよう!②
Último
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Último
(9)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
㉔cocos2dでゲームを作ろう!その2
1.
cocos2d 2.0for iPhone
勉強会 cocos2dでゲームを作ろう! その2
2.
動作環境 • Mac OS
X 10.8 Mountain Lion • xcode 4.5.1 • cocos2d for iPhone 2.0 http://www.cocos2d-iphone.org/
3.
はじめに • cocos2dで簡単なゲームを作ってみよ
う!のその2 • ゲームのメイン部分をつくってみよう!
4.
もくじ •
前回のおさらい • MainSceneを作ろう • カウントダウンを作る • ゲームスタート • メインルーチン • 忍者の動き • なんでこうするか • 忍者タッチ! • TIPS • まとめ
5.
前回のおさらい • まずはおさらい!
6.
忍者タッチ! • 次々と現れる忍者をたおしていこう! • たまに、偽物があらわれて、たおすとお手
つきに! • ライフは3個!なくなるとゲームオーバー
7.
ルール • タイトル画面でボタンを押すとゲーム開始 • カウントダウン(3・2・1)のあと、ゲー
ム開始 • 上から忍者が現れるので、タッチでたおす • 倒すのが遅いと、忍者の攻撃を受けてライフ が1減る • たまに、偽物の忍者が現れる • 偽物は、タッチしたら、ライフが1減る • ライフが0になったら、ゲームオーバーにな り、タイトル画面に戻る
8.
がめんこうせい タイトルscene
メインscene
9.
タイトルscene • フロントlayer
– スコア • タイトルlayer – タイトルロゴ – スタートボタン • 背景layer – 背景画像
10.
メインscene • フロントlayer
– スコア – 残機表示 • メインlayer – カウントダウン、ゲームオーバー – エフェクト(+1、 ) – 忍者 • 背景layer – 背景画像
11.
音楽素材について① • 音楽素材については、PANICPUMPKIN様
のご好意により、使用させていただいてい ます。 • http://panicpumpkin.omiki.com/ • ゲームBGMに特化したサイトなのでおす すめ!(曲数も多いです) • 利用報告、 著作表記、リンクなどの明記 不要で商用利用可能の音楽素材を多数公 開されています。
12.
音楽素材について② • 有料でオリジナル曲を制作してもらえる
「PANSOUND」というサイトもあるので、 ぜひ利用してみてください! • http://pansound.com/
13.
MainSceneを作ろう • MainSceneを作ってみよう!
14.
こんなかんじ -(id)init{
self = [super init]; if (self) { self.bgLayer = [CCLayerColor layerWithColor:ccc4(36, 36, 255, 255)]; [self addChild:self.bgLayer z:LAYER_BG tag:LAYER_BG]; GameData *gameData = [GameData getInstance]; gameData.score = 0; gameData.life = 3; self.frontLayer = [FrontLayer node]; [self addChild:self.frontLayer z:LAYER_FRONT tag:LAYER_FRONT]; self.mainLayer = [MainLayer node]; [self addChild:self.mainLayer z:LAYER_MAIN tag:LAYER_MAIN]; self.mode = MODE_INIT; } return self; }
15.
かいせつ • FrontLayer は同じ物を使いまわす!(け
ど、同じインスタンスだとなんかうまくい かない時があったりしたので、新しいのを 作りなおす) • MainLayer にゲームの内容を実装してい く! • 点数の初期化をする!
16.
こんなかんじ2 -(void)tick:(ccTime)dt{ switch (self.mode) {
case MODE_INIT: [self.mainLayer gameStart]; self.mode = MODE_PLAY; break;
17.
こんなかんじ3 case MODE_PLAY:
if(self.mainLayer.isEndGame){ [[CCDirector sharedDirector] replaceScene: [CCTransitionFade transitionWithDuration:1.0f scene: [TitleScene node] withColor:ccc3(0, 0, 0)]]; } break; default: break; } [self.frontLayer drawData]; }
18.
かいせつ • mainLayerのgameStartをよびだす。 • self.mainLayer.isEndGameがYESになる
まで監視する。(YESになったら、タイ トル画面に戻る)
19.
カウントダウンを作る • いきなりゲームが始まっても心の準備がで
きない! • ゲームのルールとカウントダウンを表示し てみよう!
20.
こんなかんじ1 -(void)gameStart{
self.mode = MAIN_LAYER_MODE_START; [[SimpleAudioEngine sharedEngine] stopBackgroundMusic]; [self animeCount4]; }
21.
こんなかんじ2 -(void)animeCount4{
CCSpriteBatchNode *gameBatchNode = (CCSpriteBatchNode*)[self getChildByTag:OBJECT_GAME]; [[SimpleAudioEngine sharedEngine] playEffect:@"count.caf"]; CCSprite *sp; sp = [CCSprite spriteWithSpriteFrameName:@"info.png"]; sp.position = ccp(160, 240); sp.opacity = 0; [gameBatchNode addChild:sp z:SPRITE_MAIN_TXT];
22.
こんなかんじ3 NSMutableArray* actions =
[NSMutableArray array]; [actions addObject:[CCFadeIn actionWithDuration:0.4f * COUNT_RATE]]; [actions addObject:[CCDelayTime actionWithDuration: 2.6f * COUNT_RATE]]; [actions addObject:[CCFadeOut actionWithDuration: 0.4f * COUNT_RATE]]; [actions addObject:[CCCallFuncN actionWithTarget:self selector:@selector(animeCount3:)]]; id action; action = [CCSequence actionWithArray:actions]; [sp runAction:action]; }
23.
かいせつ • アクションを順番に配列に入れていく • CCCallFuncNで、関数を呼び出せる! •
画像をフェードイン→ちょっとまつ→ フェードアウト→関数呼び出し! • このちょうしで、ルール画像→3→2→1 →0と表示していく! • 0の時は、ゲーム開始を呼ぶ!
24.
こんなかんじ4 -(void)animeCountEnd:(id)node{
[node removeFromParentAndCleanup:YES]; [[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"main.caf"]; [self gameInit]; }
25.
かいせつ • スプライトを削除するときは、 [node
removeFromParentAndCleanup:YES]; でスプライトを親から削除する!(親か らスプライトを削除するとうまくいかな いので注意!)
26.
ゲームスタート • いよいよゲームかいし! • まずは、初期値を設定!
27.
こんなかんじ -(void)gameInit{
self.mode = MAIN_LAYER_MODE_PLAY; self.ninjaArray = [NSMutableArray array]; GameData *gameData = [GameData getInstance]; gameData.ninjaMax = 1; gameData.ninjaSpeed = 0.9f; [self setLevel]; }
28.
かいせつ • self.ninjaArrayを初期化する!この配列
で忍者をコントロール! • 忍者の最大人数や速度の初期値を設定!
29.
なんいどのちょうせい -(void)setLevel{
GameData *gameData = [GameData getInstance]; if(gameData.score > ((gameData.ninjaMax * 5) * gameData.ninjaMax)){ gameData.ninjaMax++; } gameData.ninjaSpeed = 1.0f - (gameData.ninjaMax * 0.05f); if(gameData.ninjaSpeed < 0.4f){ gameData.ninjaSpeed = 0.4f; } }
30.
かいせつ • 点数に応じて、忍者の最大人数を計算! • 忍者の最大人数に合わせて、スピードを早
くする!(あんまりはやすぎるとゲームに ならないので、調整する!)
31.
メインルーチン • メインルーチンを実装しよう! • 割り込みごとに、忍者を動かす感じ!
32.
こんなかんじ1 -(void)tick:(ccTime)dt{
self.tickCount += dt; if(self.mode == MAIN_LAYER_MODE_PLAY){ [self gamePlay:dt]; } }
33.
こんなかんじ2 -(void)gamePlay:(ccTime)dt{
[self addNinja]; for(Ninja *ninja in self.ninjaArray){ [ninja tick:dt]; } }
34.
こんなかんじ3 -(void)addNinja{
CCSpriteBatchNode *bn = (CCSpriteBatchNode*)[self getChildByTag:OBJECT_MAIN]; GameData *gameData = [GameData getInstance]; for(int i = self.ninjaArray.count; i < gameData.ninjaMax; ++i){ Ninja *ninja = [[[Ninja alloc]init] autorelease]; ninja.parentLayer = self; [self.ninjaArray addObject:ninja]; [bn addChild:ninja.sprite z:(i * 100)]; } }
35.
かいせつ • MAIN_LAYER_MODE_PLAYのときだけ
gamePlayをよぶ! • gamePlayの中では、addNinjaで忍者の 最大人数分の忍者を配列に入れる! • 配列の中の忍者にたいして、 [ninja tick:dt]をよびだす!
36.
忍者の動き • 忍者は、Ninjaクラスでつくられている! • tickが呼ばれたら、Ninjaクラス内のス
テータスを見て動作を行う!
37.
忍者のステータス1 • NINJA_STATUS_INIT
– 忍者の初期表示をおこなう – standCountを初期化(どれだけ立ってる か) – 忍者か偽物かきめる – 座標を決める – 登場のアクションを開始 – NINJA_STATUS_MOVEにする – アクションが終わったら、animeMoveEnd
38.
忍者のステータス2 • NINJA_STATUS_MOVE –
忍者登場中 – 特になにもしない(アクションが終わったら 変更される)
39.
animeMoveEnd • 登場のアクションが終わったら呼ばれる! –
左右どちらかの向きでキャラを表示 – 表示座標を少し下に – NINJA_STATUS_STANDにする
40.
忍者のステータス3 • NINJA_STATUS_STAND –
standCountをデクリメント – standCountがなくなくなってるか判定 • 正面をむく(にせものはこける) attackNinjyaEnd • 消えていくアクション(おわったら、 animeActionEndをよぶ) • 忍者の場合は、攻撃(親レイヤーの actionAttackNinjaを呼ぶ) • NINJA_STATUS_ACTIONにする
41.
忍者のステータス4 • NINJA_STATUS_ACTION –
忍者が攻撃(こける)して、消えるまで
42.
actionAttackNinja • 手裏剣を投げるアクション(にせものが
タッチされた時の場合は、 印を出す) • アクションが終わったら、 attackNinjyaEnd(attackMissEnd)を 呼んで、 印を削除
43.
attackNinjyaEnd • ライフを-1する • gameOverCheck
44.
gameOverCheck • ライフが-1なら、ゲームオーバーのアク
ション • アクションが終わったら、 animeGameOverEndがよばれて、 self.isEndGame がYESになる!
45.
animeActionEnd • NINJA_STATUS_INITにする
46.
ここまでのまとめ • メインscene –
フロントlayer • スコア表示、残機表示 – メインlayer • カウント表示 • 忍者をうごかす • ライフがなくなったら、isEndGame=YES – 背景layer • 背景画像表示 ※メインsceneでは、isEndGameを監視して、 YESになったらタイトル画面にscene遷移
47.
なんでこうするか • メインシーンでの処理が簡単になる –
忍者の数を増やす(配列に入れる) – 忍者を一人ずつ動かす – くらったら、ライフを減らす • 他の動きをするキャラクターの追加が簡 単(Ninjaクラスっぽいのをつくればい い!) • もちろん、ほかにも色々方法はあるとお もう!
48.
デメリット • 忍者クラスでの処理と、メインレイヤーで
の処理の切り分けが必要。冗長になった り、逆にわかりづらくなることも!→ ルールを決めてわかりやすくなる工夫をし よう!(今回は、スコア表示や 印表示は 忍者クラスにいれないとかのルールで実装 しました。)
49.
忍者タッチ! • メインシーンに処理追加! –
忍者の数を増やす(配列に入れる) – 忍者を一人ずつ動かす – くらったら、ライフを減らす – タッチイベントをひろう – たっちされたら、点数アップ!
50.
タッチイベントをひろう1 -(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent
*)event { if(self.mode == MAIN_LAYER_MODE_PLAY){ for(UITouch* touch in touches){ CGPoint touchPoint = [touch locationInView:[touch view]]; touchPoint = [[CCDirector sharedDirector] convertToGL:touchPoint]; BOOL ret = NO; for(Ninja *ninja in self.ninjaArray){ if(ninja.type == NINJA_TYPE_NINJA){ ret = [ninja touch:touchPoint]; if(ret){ break; } } }
51.
タッチイベントをひろう2 if(ret == NO){
for(Ninja *ninja in self.ninjaArray){ if(ninja.type == NINJA_TYPE_DUMMY){ ret = [ninja touch:touchPoint]; if(ret){ break; } } } } } } }
52.
かいせつ • タッチされた座標を取得 • 忍者のうち、本物の忍者に対して[ninja
touch:touchPoint];をよんで当たり判定を チェック!(一人でもヒットしたら終わり) • 忍者のうち、偽物の忍者に対して[ninja touch:touchPoint];をよんで当たり判定を チェック!(一人でもヒットしたら終わり) • こうすることで、忍者が重なっても偽物を倒 したことにならない!
53.
touch • ステータスがNINJA_STATUS_STANDの
場合で、矩形内がタッチされてるか判定 (ほかのステータスの場合は、タッチで きない) • 忍者の場合は、スコア+1(親レイヤー のactionAddScoreを呼ぶ) • 偽物の場合は、ライフ1(親レイヤーの actionAttackNinjaを呼ぶ)
54.
TIPS1 • スプライトの画像を変える –
sf = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"ninTouch_07.png"]; – [self.sprite setDisplayFrame:sf];
55.
TIPS2 • アニメーションを同時に実行 –
[actions addObject:[CCSpawn actions: – [CCFadeIn actionWithDuration: 0.5f * gameData.ninjaSpeed], – [CCMoveTo actionWithDuration: 0.5f * gameData.ninjaSpeed position:ccp(x, y)], – nil]];
56.
まとめ • 簡単なゲームがつくれるようになったか
も! • cocos2d 1.0.の資料だけど、参考に! – http://tonosamart.com/blog/
57.
とのさまラボ! • 勉強会に参加した人どうしのコミニュティがほしい!
勉強会の開催日時の告知がほしい! という意見をみなさまからいただいたので、 コミニュティを作成しました! ぜひ「いいね!」をお願いします! https://www.facebook.com/TonosamaLabo
58.
おわり 主催(共同開催): 株式会社 gooya http://www.gooya.co.jp/ メドレー株式会社 http://www.medley.co.jp/ 講師:西田 寛輔
(Tonosamart) http://www.facebook.com/tonosamart