Hatena::Groupbabel

カーネルハッカーを目指す男の日記

 | 

2014-10-27

コールバックをどうするか悩む

00:37

cocos2d-xにて、HttpRequestを使用して画像ファイルを取得する処理を作成。

HttpRequest* request = new HttpRequest();
request->setUrl(url);
request->setRequestType(HttpRequest::Type::GET);
request->setResponseCallback(ここで悩む);
HttpClient::getInstance()->send(request);
request->release();

CC_CALLBACK_2を使う、もしくはラムダ関数でコールバックの処理を記述する方法の2種類が今のところ使えるのだが、

ある程度汎用的にしたいので、外から関数ポインタ、呼び出したインスタンス自身、座標を渡して画像を描画させたい。

cocos2d-xに用意されているCC_CALLBACK_2マクロが折角あるので、こいつを使って上手い事処理を記述したいのだが、

そもそもこのマクロなんじゃいってことで定義部分を見て見る。

#define CC_CALLBACK_2(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, ##__VA_ARGS__)

なんかますますわからなくなった。

とりあえず以下を読んで、stg::bindを理解することにする。

http://kaworu.jpn.org/cpp/std::bind

後、今日教えてもらったWIPで、日々の進捗をもうちょい記録するようにする。

http://qiita.com/a-suenami/items/129e09f8550f31e4c2da

ゲスト



トラックバック - http://babel.g.hatena.ne.jp/hiro_sa/20141027
 |