cocos2d-x 判断node是不是精灵
发布网友
发布时间:2022-04-12 09:49
我来回答
共1个回答
热心网友
时间:2022-04-12 11:18
//on
"init" you need to initialize your instance
bool HelloWorld::init()
{
bool bRet
= false;
do
{
CC_BREAK_IF(!
CCLayer::init());
//Get
window size.
CCSize
size = CCDirector::sharedDirector()->getWinSize();
//pSprite
is a CCSprite for test.
pSprite
= CCSprite::spriteWithFile("fjut.png");
CC_BREAK_IF(!
pSprite);
//Place
the sprite on the center of the screen
pSprite->setPosition(*(size.width/2,
size.height/2));
this->addChild(pSprite,
0);
bRet
= true;
}
while (0);
this->setIsTouchEnabled(true);
return bRet;
}
void HelloWorld::registerWithTouchDispatcher()
{
CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,
-1988, true);
}
static CCRect
getRect(CCNode* pNode)
{
CCRect
rc;
rc.origin
= pNode->getPosition();
rc.size
= pNode->getContentSize();
rc.origin.x
-= rc.size.width*0.5;
rc.origin.y
-= rc.size.height*0.5;
return rc;
}
void HelloWorld::ccTouchEnded(CCTouch*
pTouch, CCEvent* event)
{
CCPoint
touchLocation = convertTouchToNodeSpace(pTouch);
if(CCRect::CCRectContainsPoint(getRect(pSprite),
touchLocation))
{
printf("我被点中了!\n");
}
}
bool HelloWorld::ccTouchBegan(CCTouch*
touch, CCEvent* event)
{
return true;
}
转载,仅供参考。