今回は、私が他のアプリを見て、「これってどう実装しているのか」一度試してみたかったことの2回目です。 実装してみたいのが、「スワイプ処理でレイアーが横に移動する」というモノです。
これも、言葉ではどういうものか言うのが難しいのですが、こんな感じのヤツです。
URARA-WORKS&SKIPMOREさんのゲームに登場するヤツです。
実装
これは、ちょっと自分では実装ができないレベルのモノで、githubでクラスを公開されていましたので、これを利用させてもらうことでできるようになりました。 yadongliu/CCScrollLayer · GitHub
[参考] マルジュさんの開発者の方のブログに詳しい内容が載っています。 オデの日記@WEB系: cocos2d-xでスクロールするレイヤーCCScrollLayerを使う
ほぼこの通りに実装すれば大丈夫なのですが、私が使おうとしているcocos2dxのバージョンではエラーが出て、いきなりは使えません。 これは少し修正が必要なので、そのやり方を案内します。
修正
cocos2dx2.2.1の場合、修正は2箇所。 まずは、#includeを下記のように変更します。 [c]
//#include "CCTouchHandler.h"
include <touch_dispatcher/CCTouchHandler.h>
[/c]
次に、一部の変数がおかしいみたいなので、これを置き換えます。 [c]
m_tContentSize -> m_obContentSize m_tPosition ->m_obPosition
[/c]
[参考] CCScrollLayer is not up to date | Cocos2d-x
これで上手く行くと思います。
最後に
今の私の力では、こんなことできません。 これが本当に技術のある人ということでしょう。
欲をいえば、URARA-WORKS&SKIPMOREさんのように、スワイプが一周できる処理をしたいのですが、コードが理解できていないので、実際のゲームでどのように使っていくかですね。 後、githubに私も、コードを載せたいのですし、gitでコードを管理したいです。