我的问题是什么时候触摸屏幕的任何位置,精灵变得不可见。但我想这样做,只有当我点击精灵时才能看到精灵。
bool CharacterSelection::ccTouchBegan(CCTouch* pTouch, CCEvent* pEvent
{
CCTouch* touch;
CCPoint tap = CCDirector::sharedDirector()->convertToGL(pTouch->getLocationInView());
GoatSprite* goat;
goat = (GoatSprite*) goatSpriteObject;
if(touch){
tap = touch->getLocation();
}
if(goat->boundingBox().containsPoint(tap)){
goat->setVisible(false);
}
return true;
}
抱歉,如果代码中有任何错误。
答案 0 :(得分:1)
我觉得你的代码很奇怪。
您在CCEvent* pEvent
您已经开始接触pTouch
无需创建新的CCTouch* touch;
如果您没有对if (touch)
进行任何操作,那么您正在使用pTouch
您根本不需要if (touch)
条件。
尝试简化为:
cocos2d::CCPoint p = pTouch->getLocation();
cocos2d::CCRect rect = goat->getBoundingBox();
if(rect.containsPoint(p))
{
// you touched it
}