More Related Content
Similar to 『こなへん』ができるまで ☆リリース直前編☆ (20)
『こなへん』ができるまで ☆リリース直前編☆
- 3. はじめに
• 5月末に、生まれて初めてほぼC++で書
いたiPhoneアプリ『こなへん』が無事公
開されました!皆さんのおかげです!
多謝。
– 今回は実験的に、拙ブログにて公開直前
バージョンのソースを配布していますので
併せてどうぞ(スライドの最後に案内があり
ます)
- 6. 今回のマゾプログラミング
• GameCenter & iAd対応はどうした
• ローカライズはどうした
• テスト&デバッグはどうした
• 動作パフォーマンスはどうした
- 9. GameCenter & iAd対応
• まず、そのUIViewControllerに
GKLeaderboardViewControllerDelegateと
ADBannerViewDelegateを担当させる
- 10. GameCenter & iAd対応
• GameCenter.mmというソースを用意。
GameCenter関連を処理する関数群をそ
こに押し込んだ。
• クラスにはしないですべて関数で実装
– これだとC++のコードから関数が呼び出せる。
• 関数内では [[NSString alloc] init]; とか
色々普通に使えます。
- 26. テスト&デバッグ
class DbgStreambuf : public std::streambuf {
std::vector<char> str_;
public:
int_type overflow(int_type c = EOF) {
str_.push_back(c);
return c;
}
int sync() {
str_.push_back('¥0');
OutputDebugString(&str_[0]); // VSの出力に文字列を表示する
str_.clear();
return 0;
}
};
- 29. テスト&デバッグ
• こう書くことで解決。
#ifdef _DEBUG
#define DOUT std::cout
#else
#define DOUT 0 && std::cout
#endif
DOUT << “hoge piyo” << std::endl;
- 34. 動作パフォーマンス
• Xcode4から導入された
OpenGL ES Performance Detective
Instruments(OpenGL ES Analysis)
を使って描画負荷の原因を調べてみた。
– アップルから配布されている「iOS OpenGL ESプ
ログラミングガイド(日本語!)」にかなり親切な
解説があります。
- 35. 動作パフォーマンス
• 診断の結果なんと
「頂点バッファを使え」
「テクスチャ圧縮を使え」
と具体的に指摘されました。英語で
ですが…(汗)
–これに対応したらiPhone4でもほぼ
60fpsを達成できた
- 36. 動作パフォーマンス
• CPU負荷はXcodeの
Instruments (Time Profiler)
で計測。CPUの負荷を計測したり、処理
の重い関数をリストアップしてくれる!
– これもアップルから配布されている「Instruments
ユーザガイド(日本語!)」で詳しく解説されてい
ます。素敵すぎます。
- 40. まとめ
• GameCenter & iAd対応
– iOSに特化した処理なので、大人しくObjective-C
で書いた。
• ローカライズ
– OSXやiOSのを真似て自分で実装した。
• テスト&デバッグ
– デバッグビルドで検証用の機能を実装したら楽
できた。
• 動作パフォーマンス
– 各種検証用ツールがあるXcodeは最高!
- 42. おしまいです
• こんな感じですが…マゾっぽくないみな
さんの参考になりましたでしょうか…
– blog 「でらうま倶楽部」
• http://blog.livedoor.jp/tek_nishi/
– twitter
• @5mingame2
– Facebook
• 5mingame2