bool HeadUpDisplay::init(){ if(!CCMenu::init()) return false; /* Adding a "close" button to exit. */ CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png", "CloseSelected.png", this, menu_selector(HeadUpDisplay::menuCloseCallback)); CCSize scrSize = CCDirector::sharedDirector()->getWinSize(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); pCloseItem->setPosition( ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 , origin.y + pCloseItem->getContentSize().height/2)); this->addChild(pCloseItem,1); /* Mesh */ CCSprite* mesh = CCSprite::create(); mesh->setTextureRect(CCRect(0,0,scrSize.width,scrSize.height)); mesh->setColor(ccc3(0,0,0)); mesh->setOpacity(0); mesh->setAnchorPoint(ccp(0,0)); mesh->setPosition(CCPointZero); mesh->setTag(_meshTag); this->addChild(mesh,0); /* Bubble Talk */ CCSprite* bubble = CCSprite::create("bubbleTalk.png"); CCPoint bblePos = scrSize/2; bubble->setPosition(bblePos); bubble->setScale(0); bubble->setTag(_bubbleTalkTag); this->addChild(bubble,0); /* Message */ CCLabelTTF* labelMsg = CCLabelTTF::create("Bonjour!\n :)","Artial", 32); CCSize bubbleSize = bubble->getContentSize(); labelMsg->setPosition(bubbleSize/2); labelMsg->setOpacity(0); labelMsg->setTag(_messageTag); bubble->addChild(labelMsg,0); /* Accept Button */ CCMenuItemImage* acceptButton = CCMenuItemImage::create( "acceptButton.png","acceptButtonPressed.png", this, menu_selector(HeadUpDisplay::hideMessage)); acceptButton->retain(); CCSize aBtnSize = acceptButton->getContentSize(); acceptButton->setPosition(ccp( bblePos.x + bubbleSize.width/2 - aBtnSize.width * .25f, bblePos.y - bubbleSize.height/2 + aBtnSize.height * .25f)); acceptButton->setVisible(false); this->addChild(acceptButton,0,_acceptButtonTag); this->setPosition(CCPointZero); return true; }