前回に引き続き、 ccTouchMoved, ccTouchEnd 行きます。 ^^ ccTouchMoved はこんな感じですね。
void HelloWorld::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent) { do { if (!_mouseJoint) { break; } b2Vec2 vecPos; { CCPoint pos = pTouch->getLocation(); pos = ccpMult(pos, 1.0f / PTM_RATIO); vecPos = b2Vec2(pos.x, pos.y); } _mouseJoint->SetTarget(vecPos); } while (0); }
setTarget がまだ分からない…。が、とりあえず試してみよう… ^^; 続いて、ccTouchEnd, ccTouchCancelled を実装。破棄ですね。 ccTouchCancelled は普段使ってないけど…自分の普段の実装…大丈夫かな… ^^;
void HelloWorld::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent) { if (_mouseJoint) { _world->DestroyJoint(_mouseJoint); _mouseJoint = NULL; } } void HelloWorld::ccTouchCancelled(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent) { if (_mouseJoint) { _world->DestroyJoint(_mouseJoint); _mouseJoint = NULL; } }