2014年2月27日木曜日

[cocos2d-x v3.0beta2] XTLayerを(とりあえず)動かす

 cocos2d-xでタップやスワイプを手軽に実装できるXTLayerをv3.0でも使いたい。というわけで手抜き移行を実施。

 移行に際してやったことは以下の3点。
  • v3.0準拠へ各種名称およびコンテナを変更
  • deprecatedsetTouchEnabledおよびsetTouchModeの代替を用意
  • onExit時にEventDispatcherからEventListenerを削除

  手抜きというだけあり、onTouchCancelledおよびonTouchesCancelledは未対応。

 しかしながら 
  • setTouchEnabled(bool)xtTouchEnabled(bool) 
  • setTouchMode(ccTouchesMode)xtTouchMode(Touch::DispatchMode) 
に置き換えるとそれっぽく動く不思議。

 実際のところ、v3.0のタッチ処理はLayerで拡張するよりインターフェースから拡張する方が良さげだなぁ、と思いつつ誰かが公開してくれるのを待とう。

2014年2月24日月曜日

[tips : iPhone app] 3.2 Apps with placeholder text will be rejected

 iTunes Connectよりリジェクト報告がきたので戒めのため記録。

 JapaneseおよびEnglishでMetadataを作成した際、EnglishのDescriptionを簡易に済ませたところ、これが 3.2 Apps with placeholder text will be rejected にあたると判断されリジェクトを受けた。

 Binaryは問題ないということなので、翻訳サイトを使いEnglishのDescriptionをJapanese相当のものに修正したところ無事Reviewを通った。

 別件として、Metadataを更新する際、Default LanguageをEnglishからJapaneseに変更したところGame CenterのLeaderboard設定が無効化されたこと、うっかりしてiAdの有効化ができなかったことを併記しておく。凡ミス、良くない。

  前者はバージョンアップ、後者はAdMobやnendを別途実装して対処する予定。

[tips : cocos2d-x v3.0beta2] プロジェクト作成

 cocos2d-x v3.0で最初に「おっ?」と思うのがinstall-templates-xcode.shが見つからないことだと思います。…思いましたよね?

 実際、lsしたりfindしたり探してみても見つからないので、それよりcreate_project.pyを使いませんか、となるわけです。

 macの場合、ターミナルを開き、cocos2d-xを解凍したフォルダで./tools/project-creator/create_project.pyを実行すればフロントエンドが立ち上がります。

  あとは必要事項 - Project Nameに任意のプロジェクト名、Package Nameはandroid用のパッケージ名(必要ないならデフォルト、とりあえずならBundle Identifierなど)、Project Pathに任意のフォルダ、LanguageでC++ or Lua or JavaScript - を指定して[create]ボタンを押せば$(ProjectPath)/$(ProjectName)が生成されます。

 あとは必要なプラットフォームのプロジェクトを開いて編集すればオーケー。