【cocos2dx】スワイプでレイアーをスクロールさせる

今回は、私が他のアプリを見て、「これってどう実装しているのか」一度試してみたかったことの2回目です。 実装してみたいのが、「スワイプ処理でレイアーが横に移動する」というモノです。

これも、言葉ではどういうものか言うのが難しいのですが、こんな感じのヤツです。

2013-12-11-fdsa.png
リバーシュ App
カテゴリ: ゲーム
価格: 無料

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でコードを管理したいです。