0

CCLayerサブクラスの 3 つのインスタンスがBlock隣り合って配置されているとします。それぞれが 100x100 ピクセルで、いくつかの基本的な正方形の背景アートがあります。これら 3 つのオブジェクトは、CCLayerと呼ばれるカプセル化サブクラスの一部ですContainer

3 つのブロックをスワイプして、コンテナー内の各ブロックのスワイプ/タップ/タッチを検出するにはどうすればよいですか?

Block問題がs のタップの処理だけに制限されている場合はContainer、デリゲートを使用できます。aがタップされるたびにに通知BlockDelegateする必須メソッドのようなもの。userTappedBlock:(Block *) bContainerBlock

ただし、このアプローチはまだスワイプには機能していません。コールバックを受け取りますが、最初にタップされContainerた場合のみです。Block

4

2 に答える 2

0

CustomLayer.cpp で、レイヤーをタップするためのこのメソッドを記述します

void CustomLayer::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent)

{

     CCTouch *touch = (CCTouch *) pTouches->anyObject();
     CCPoint location = touch->getLocationInView();
     location = CCDirector::sharedDirector()->convertToGL(location);

         if(layer->boundingBox().containsPoint(location))
                CCLog("layer Hit Test");


}
于 2013-12-26T09:45:32.413 に答える