2013-07-22 2 views
1

Мой главный экран Main.ccbi, он содержит 3 CCSprite. Теперь я хочу, чтобы, когда пользователь нажимает на CCSprite, я должен знать, на что он нажал? Я хочу вычислить в методе CCMotionBegin, на который пользователь CCSprite нажал.Обнаружение, на которое был нажат CCSprite

ответ

2

Первый магазин вы создали в CCArray спрайтов сказать mSpriteArray, а затем вы можете сделать что-то вроде следующего

bool MyClass :: ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent) 
{ 
    CCPoint currentTouchLocation = pTouch->getLocationInView(); 
    currentTouchLocation = CCDirector::sharedDirector()->convertToGL(currentTouchLocation); 
    currentTouchLocation = this->convertToNodeSpace(currentTouchLocation); 

    CCSprite *selectedSprite = getSpriteAtPosition(currentTouchLocation); 

    return true; 
} 

CCSprite* MyClass :: getSpriteAtPosition(CCPoint inTouchPosition) 
{ 
    CCObject *object; 
    CCARRAY_FOREACH(mSpriteArray, object) 
    { 
     CCSprite *sprite = (CCSprite*)sprite; 

     if (sprite->boundingBox().containsPoint(inTouchPosition)) 
     { 
      return sprite; 
     } 
    } 

    return NULL; 
} 

Надежда это помогает.

+0

Это сработало, спасибо! – Zubair

Смежные вопросы