cocos2dxで作ったソリティアandroidでリリースした後、少し時間がかかってiosでもリリースしました。
なぜ、遅れたかというと、アプリをアーカイブ化する時に、手間取ってしまったからです。
作る前には、そんなに詰まることはないだろうと思っていましたが、
いくつか詰まったことがあったので、まとめます。
1.sceneをpopした後に、再度sceneをpushすると、動作がおかしくなってしまった。
原因はソリティアシーンをポップした時に、トランプをドラッグアンドドロップする時に設定していた
リスナーを解放していなからでした。
メニュー画面に戻って新しくソリティアシーンを再生成するときに、開放していないリスナーを再度登録してしまうので、
そのリスナーから呼ばれる関数でソリティアシーンで定義した変数を参照することができずに、
おかしな動作になってしまいました。
debugし、リスナーで呼ばれる関数でbreak pointを貼った時にシーンの変数を参照できていなかったので、
もしかしてリスナーを解放していないからじゃないか?
と早く気づけたので、そんなに悩まずに対処できた。
2.iosでアーカイブ化に失敗する
対処法は別に書きました。
アーカイブ化するのに、30分くらいかかってからエラーを吐かれるので非常に辛かった。
3.ドラッグアンドドロップをするためのリスナーを設置すると、Buttonクラスのリスナーが呼ばれない
これも対処方法を書きました。
ネットのサンプルをそのままコピペしたら、自分の環境にそぐわない関数が入っていて、それが原因だった。
その他にも色々あったんですが、書いても意味なそうなので、このへんで。
cocos2dxでソリティアを作った感想
懸念になっていた、ドラッグアンドドロップの処理は意外と簡単に実装できたので、
時間は測ってませんが、短時間で完成しました。
ただ、ue4やunityのようにEditorで作った方が、便利だし、効率もいいんだと思います。
後、ue4で作る場合メモリリークを気にしなくていいところがいい。
今回、メモリ解放漏れしてしまったので、痛感しました。
期待
作ったので遊んで欲しい
アプリはオフラインでできます。
ios:
android:
https://play.google.com/store/apps/details?id=com.jiji.everybody