2014年8月26日火曜日

cocos2d-x Androidプロジェクトの場合はStencilバッファを明示的に有効化しておかないとクリッピングできない事がある

ListViewを使用していた時に気づいたのですが、iOSでは ListView 内の Node はコンテンツエリアで正しくクリッピングされるのに、Android(Nexus 7)ではクリッピングされない現象が起こりました。

まったく予期しないところで問題が起こるので、毎度びっくりします。(・。・;

いろいろ調べてみると、ListView のクリッピングはデフォルトでは Stencil バッファを使用していて、この Stencil バッファが無効になっているのでクリッピングできていませんでした。

問題は、なぜ Stencil バッファが無効になっている事があるのかということになりました。

Androidのcocos2d-xプロジェクトは、デバイス毎のデフォルトGLサーフェース設定をそのまま使用しているっぽいので、デバイスによっては Stencilバッファが無効になっている事があるようです。

描画速度、Stencilバッファ未対応のデバイスなどの問題を意識しての仕様かと思われます。因みにiOS環境では、Stencil バッファは必ず有効にされています。

理由はどうあれ、とりあえず早速 Stencilバッファを有効化してやりました。

2014年8月25日月曜日

Sublime Text 2で既存ThemeのColor Schemeを編集する方法

Sublime Text 2には沢山の拡張テーマがあって、気に入ったひとつを選ぶのに困りますね。テーマ全体は結構満足してても、一部分だけ変更したいということもあるでしょう。

僕が普段使っているテーマは、itg.flatというテーマで、その中の itg.dark というColor Schemeを使用しています。
ただ、こちらのColor Schemeは、コメントの色が暗くてとても読みづらいのが難点でした。
そこで、拡張テーマのColor Schemeを編集する方法を調べました。

テスト環境
  • Mac OS X 10.8.5
  • Sublime Text 2 ver.2.0.2

2014年8月20日水曜日

Eclipse+CDTのコード補間機能を使う

cocos2d-x v3系で開発するようになってまだ日が浅いので、これまでEclipseの機能を殆ど知らずにやってきました。
ですがっ! もうどうしたってコード補完機能がなければ、やってられないよという気分になりましたので、ちょっとその辺りを調べました。

テスト環境
  • Mac OS X 10.8.5
  • Eclipse (Android Developer Tools Build: v22.6.2-1085508)
  • CDT

キーボードショートカットによるコード補完機能としては、以下の2つの機能を抑えておけば、なんとかなりそうです。
  • 単語補完 (Word Completion)
  • コンテンツ・アシスト (Content Assist)

2014年8月17日日曜日

USB接続したAndroidデバイスがadb devicesでリストアップされない時にすること

MacにAndroidデバイスを接続してUSBデバッグを開始しても、adbに認識されない時がよく起こります。

Androidデバイス側では「USBデバッグを開始します」というようなメッセージがでるので、これは Mac か adb が原因なのでしょうか?
まあだいたいUSBケーブルを一度抜いてから挿し直すと認識してくれるので、まあいっかという感じですが、ごく稀に数十回抜き挿ししても直らず、ムキッ〜ー!となる時が訪れます。

Macをリブートすれば直るとは思いますが、それはやだ、めんどうくさい!

じゃあ、どうすれば!?

2014年8月15日金曜日

スプライトアニメーション制作ツール OPTPiX SpriteStudio が使いやすそう

OPTPiX SpriteStudioという、スプライトアニメーション制作ツールの事を最近知りました。


なにこれ!いいじゃん!
買う買う!

と思って、価格を見ると、

フルライセンス版:¥92,500
サブスクリプションライセンス:¥5,500 / 1ヶ月 (6ヶ月単位)

さ、さすがOPTPiX…
これならもうちょい頑張ると Unity Pro に手が届きますな〜。(^m^;)

2014年8月10日日曜日

cocos2d-xでOrientationの設定を変更する

cocos2d-x v3.2のcocosコマンドで新規プロジェクトを作成すると、デフォルトのOrientation設定は Landscapeモードになっているので、これをPortraitモードに変更する方法を調べました。

iOSではiPhone/iPadのユニバーサルアプリにすることが多いと思うので、iPhoneではPortaitのみ、iPadではPortaitとUpside Downに対応するようにしました。
iPadアプリでは、デバイスを逆さにした時にスクリーンを回転するようにしないと、リジェクトされた苦い思い出があります。

テスト環境
  • Mac OS X 10.8.5
  • cocos2d-x v3.2
  • Xcode 5.1.1 / iOS 7.1 SDK (iOS)
  • Android NDK r9d (Android)

2014年8月5日火曜日

cocos2d-x v3系で通知するにはEventDispatcherを使う

cocos2d-x v3系に搭載されている通知処理を試してみました。
以前(v2系?)までは NotificationCenterというクラスで通知をしていたみたいですね。

v3系ではそれが Deprecated になって、新しくEventDispatcher を使うことが推奨されています。
Notification(通知)から、Event(イベント)と名前が変わっているので混乱するかもしれませんが、内容的には同じだと思います。

テスト環境
  • Mac OS X 10.8.5
  • cocos2d-x v3.2 rc0
  • Android NDK r9d

Related Posts Plugin for WordPress, Blogger...