Submit Search
Upload
Androidクラスタの私がcocos2d-xでマルチディスプレイ対応してみた
•
Download as KEY, PDF
•
12 likes
•
5,317 views
Megumi Kido
Follow
さいたま勉強会vol4で発表したスライドです。 cocos2d-x初心者もといAndroid向けのイラストです。 あと、おまけはテストについて考えたことです。
Read less
Read more
Report
Share
Report
Share
1 of 50
Download now
Recommended
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Akihiro Matsuura
cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点
Tomoaki Shimizu
cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用
Tomoaki Shimizu
Cocos2d-JSはイケてる? イケてない?
Cocos2d-JSはイケてる? イケてない?
Shin Fujisawa
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Yasuhiro Matsuda
cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成
Tomoaki Shimizu
cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用
Tomoaki Shimizu
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門
Chukong Technologies Japan
Recommended
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Akihiro Matsuura
cocos2d-x 3.0による変更点
cocos2d-x 3.0による変更点
Tomoaki Shimizu
cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用
Tomoaki Shimizu
Cocos2d-JSはイケてる? イケてない?
Cocos2d-JSはイケてる? イケてない?
Shin Fujisawa
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Cocos2d-x&CocosCodeIDE&Luaで個人開発始めました
Yasuhiro Matsuda
cocos2d-xを利用したパズドラ風ゲームの作成
cocos2d-xを利用したパズドラ風ゲームの作成
Tomoaki Shimizu
cocos2d-xにおけるマップエディタの利用
cocos2d-xにおけるマップエディタの利用
Tomoaki Shimizu
実はかんたん!ゲームエンジンCocos2d-x入門
実はかんたん!ゲームエンジンCocos2d-x入門
Chukong Technologies Japan
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
Tomoaki Shimizu
Cocos2d-x 3D Extension
Cocos2d-x 3D Extension
Tomoaki Shimizu
cocos2d-x 開発の効率化
cocos2d-x 開発の効率化
Akihiro Matsuura
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Tomoaki Shimizu
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Tomoaki Shimizu
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Tomoaki Shimizu
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDE
Tomoaki Shimizu
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
Tomoaki Shimizu
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
Tomoaki Shimizu
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSB
Tomoaki Shimizu
Cocos2d xのススメ
Cocos2d xのススメ
Tomoaki Shimizu
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Tomoaki Shimizu
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Tomoaki Shimizu
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみた
Tomoaki Shimizu
CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方
Tomoaki Shimizu
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
Kohki Miki
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Tomoaki Shimizu
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Tomoaki Shimizu
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
Tomoaki Shimizu
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Yahoo!デベロッパーネットワーク
Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05
Yasuhiro Matsuda
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
Masayuki Abe
More Related Content
What's hot
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
Tomoaki Shimizu
Cocos2d-x 3D Extension
Cocos2d-x 3D Extension
Tomoaki Shimizu
cocos2d-x 開発の効率化
cocos2d-x 開発の効率化
Akihiro Matsuura
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Tomoaki Shimizu
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Tomoaki Shimizu
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Tomoaki Shimizu
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDE
Tomoaki Shimizu
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
Tomoaki Shimizu
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
Tomoaki Shimizu
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSB
Tomoaki Shimizu
Cocos2d xのススメ
Cocos2d xのススメ
Tomoaki Shimizu
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Tomoaki Shimizu
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Tomoaki Shimizu
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみた
Tomoaki Shimizu
CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方
Tomoaki Shimizu
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
Kohki Miki
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Tomoaki Shimizu
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Tomoaki Shimizu
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
Tomoaki Shimizu
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Yahoo!デベロッパーネットワーク
What's hot
(20)
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
Cocos2d-x 3D Extension
Cocos2d-x 3D Extension
cocos2d-x 開発の効率化
cocos2d-x 開発の効率化
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x(JS) ハンズオン #13「SNS対応(Twitter, Facebook)」
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
cocos2d-xとCocos Code IDE
cocos2d-xとCocos Code IDE
Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSB
Cocos2d xのススメ
Cocos2d xのススメ
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos Code IDEを使ってみた
Cocos Code IDEを使ってみた
CocosBuilderを利用した開発の進め方
CocosBuilderを利用した開発の進め方
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Cocos2d-x(JS) ハンズオン #05「Cocos StudioとCocos2d-x (JS)との連携」
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
20130912 macでcocos2d x 3.0alphaを使用した、クロスプラットフォーム開発環境構築について
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Cocos2d-JSと物理演算で作る横スクロールアクションゲーム #scripty06
Similar to Androidクラスタの私がcocos2d-xでマルチディスプレイ対応してみた
Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05
Yasuhiro Matsuda
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
Masayuki Abe
IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発
amusementcreators
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
Jun Hosokawa
HTML5でハイブリットなアプリ開発をアレしてみた件
HTML5でハイブリットなアプリ開発をアレしてみた件
Tatsuo Kurita
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Takuya Ueda
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)
Jun Hosokawa
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Takuya Ueda
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
kinneko
Similar to Androidクラスタの私がcocos2d-xでマルチディスプレイ対応してみた
(10)
Cocos2d-x勉強会 2014/10/05
Cocos2d-x勉強会 2014/10/05
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
HTML5でハイブリットなアプリ開発をアレしてみた件
HTML5でハイブリットなアプリ開発をアレしてみた件
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Androidクラスタの私がcocos2d-xでマルチディスプレイ対応してみた
1.
Androidクラスタの私がcocos2d-xで マルチディスプレイ対応をしてみた
2012/6/30 さいたま開発勉強会 vol4 @f_megmeg5
2.
自己紹介 @f_megmeg5 iPhoneアプリもAndroid アプリも作っている ゲームよりもツール系が 得意
3.
cocos2d-xで遊び始めたきっかけ 周りのiOS開発者の方々がcocos2dで楽 しそうに遊んでいた でも、私はAndroidにどっぷりだから Androidでcocos2dやりたい!
4.
cocos2d-xで遊び始めたきっかけ cocos2d-androidがあるならこれを使 えばいいじゃない! http://code.google.com/p/cocos2d- android/
5.
cocos2d-xで遊び始めたきっかけ 全く更新されていない
6.
cocos2d-xで遊び始めたきっかけ (´・ω・`)
7.
cocos2d-xで遊び始めたきっかけ 気を取り直して、cocos2d-android-1 もあるじゃない! https://github.com/ZhouWeikuan/ cocos2d http://code.google.com/p/cocos2d- android-1/
8.
cocos2d-xで遊び始めたきっかけ 全く更新されていない
9.
cocos2d-xで遊び始めたきっかけ (´;ω;`)
10.
cocos2d-xで遊び始めたきっかけ もうAndroidクラスタはcocos2dに触れ ないの? Javaで書くなということなの?
11.
cocos2d-xで遊び始めたきっかけ @yoichinejiさん cocos2d-xがあるじゃない cocos2d Advent Calendar 2011で記事書い たから見てよ
12.
cocos2d-xで遊び始めたきっかけ cocos2d-xって何? cocos2dを継承してC/C++で書いてい くよ! iPhone/Androidで動くよ! 法人化しているから、更新も早いよ!
13.
cocos2d-xで遊び始めたきっかけ Javaで書けないけど
これしかない
14.
cocos2d-xで遊び始めたきっかけ けど、NDKかー C/C++わかんないよー
15.
cocos2d-xで遊び始めたきっかけ cocos2d Developers Japan http://www.facebook.com/groups/ 309695229106927/ ここで紹介された記事を読んで、これ ならできるかも…
16.
実際に遊んでみた このように紹介されていた
17.
実際に遊んでみた やってみて悪戦苦闘した様子をブログ にまとめてるよ! http://megmegfive.blogspot.jp/
18.
実際に遊んでみた 動いた動いた(∩´∀`)∩
19.
実際に遊んでみた REGZA phoneでの表示がおかしい
20.
実際に遊んでみた 試しにGalaxy Nexusでもやってみよう
21.
cocos2d-xで遊び始めたきっかけ
表示が全然違う!?
22.
Android 用のマルチディスプレイ対応 何故このように表示が異なるの?
23.
Android 用のマルチディスプレイ対応 原因
Androidはディスプレイサイズが様々 Androidは画面のアスペクト比も様々 そんでもってdpiも端末毎に異なる
24.
Android 用のマルチディスプレイ対応 CCSprite* pSprite
= CCSprite::spriteWithFile("HelloWorld.png"); pSprite->setPosition( ccp(size.width/2, size.height/2) ); // add the sprite as a child to this layer this->addChild(pSprite, 0);
25.
Android 用のマルチディスプレイ対応 座標はともかく、パーツ類のCCSpriteの スケールが考慮されていない これじゃあ表示がおかしくなっちゃうね
26.
Android 用のマルチディスプレイ対応 じゃあスケールで誤摩化そう!
27.
Android 用のマルチディスプレイ対応 スケールの基準 Androidのmdpiを基準にする
長辺:480px 短辺:320px iPhoneとここは一緒
28.
Android 用のマルチディスプレイ対応 const float
DEFAULT_WIDTH = 480.0; const float DEFAULT_HEIGHT = 320.0; float WIN_SCALE; CCSize size = CCDirector::sharedDirector()->getWinSize(); ! //倍率を取得する ! float kw=size.width/DEFAULT_WIDTH; ! float kh=size.height/DEFAULT_HEIGHT; ! if(kw>=kh){ ! ! WIN_SCALE = kh; ! } else{ ! ! WIN_SCALE = kw; ! }
29.
Android 用のマルチディスプレイ対応
本当はスケールの値は別途他のクラス で持つのが良い? 実際のスケールの組み込みはEclipse で上で見せます
30.
実際に遊んでみた REGZA phoneでスケール調整したもの
31.
実際に遊んでみた 試しにGalaxy Nexusでもやってみよう
32.
Android 用のマルチディスプレイ対応
わりといい感じ
33.
Android 用のマルチディスプレイ対応
本当はスケールの値は別途他のクラス で持つのが良い? 実際のスケールの組み込みはEclipse で上で見せます
34.
まとめ スケール計算を簡単にすませるならこ の方式になると思う アスペクト比が一定の方が画面として 作りやすい
35.
まとめ 凝った背景にしないのであれば、背景 のみ全画面で出して、他の部分をス ケール計算ですませるのが良いかも
36.
cocos2d-xをやってみて Eclipseでcocos2d-xをやるなら、補完 がないのでDash片手に行うしかない Xcodeなら補完が効くので便利
37.
cocos2d-xをやってみて Xcode4で新規プロジェクトを作ると ディレクトリ構成がcocos2d-xで推奨さ れている構成と異なるから、Android 向けにビルドパスの修正が必要になる 地味に面倒
38.
cocos2d-xをやってみて XCodeでcocos2dに慣れてからやれば 良かったかも C++の知識が無いからサンプルの見よ う見真似で誤摩化しているから、ちゃ んと勉強しないといけないかも
39.
結論 頑張るしかない
40.
おわり
41.
おまけを話す時間ある?
42.
おまけ アプリのテスト
43.
おまけ AndroidならJUnitとかMonkeyとかを 使う ごめんなさい使ったことがないです 基本人力です
44.
おまけ 誰かにテストしてもらう TestFlight(iPhone)を使ったりOTAと して配布してテストを行ってもらうこと が多い
45.
おまけ テストやアプリを使っていて気付いた こと 連打対策が弱いことがある 同時押し対策が弱いことがある
46.
おまけ この辺りはちゃんとケアしてあげる けっこう突っ込まれるところ
47.
おまけ バグを見つけるために、他に何かコツ はある?
48.
おまけ 運
49.
おまけ バグ発見は運や才能だと偉い人が言っ ていました バグ報告してくれるユーザーやテスター を労ってあげましょう
50.
おまけ おわり
Editor's Notes
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Download now