void HelloWorld::onData(void* data) { auto goodsdata = (GoodsData*)data; if (!goodsdata->isCreate()) { if (!_washing) { _washing = Sprite::create(goodsdata->getResPath()); addChild(_washing); } else{ log("change image"); _washing->setTexture(goodsdata->getResPath()); _washing->setVisible(true); _washing->setScale(1.0f); } _washing->setAnchorPoint(Vec2(0.5f,1.618f)); goodsdata->setCreate(true); } if (scaleAnimation == 1) { //放小动画 if (_washing->getScale() > 0.1) _washing->setScale(_washing->getScale()-0.03); } }
void AboutScene::createUI() { // Add Backgrouond image CCSprite* bg = CCSprite::create(getResPath(ABOUT_BG_IMG)); bg->setScaleX(SCALEX); bg->setScaleY(SCALEY); bg->setPosition(ccp(winSize.width * 0.5, winSize.height * 0.5)); this->addChild(bg); // Add Scene title CCSprite* title_scene = CCSprite::create(getResPath(ABOUT_TITLE_SCENE_IMG)); title_scene->setScale(SCALE); title_scene->setPosition(ccp(winSize.width * 0.5, winSize.height - 45 * SCALEY)); this->addChild(title_scene); // Add Text Background CCSprite* txt_bg = CCSprite::create(getResPath(ABOUT_TEXT_BG_IMG)); txt_bg->setScaleX(SCALEX); txt_bg->setScaleY(SCALEY); txt_bg->setPosition(ccp(winSize.width * 0.5, winSize.height * 0.5 + 20 * SCALEY)); this->addChild(txt_bg); // Add Text CCSprite* txt_title = CCSprite::create(getResPath(ABOUT_TITLE_GAME_IMG)); txt_title->setPosition(ccp(winSize.width * 0.5, winSize.height - 165 * SCALEY)); txt_title->setScale(SCALE); this->addChild(txt_title); CCSprite* txt_game = CCSprite::create(getResPath(ABOUT_TEXT_GAME)); txt_game->setScale(SCALE); txt_game->setPosition(ccp(winSize.width * 0.5, 750 * SCALEY)); this->addChild(txt_game); // Add "Tell a Friend" button //Change by kerberos Yposition -old 407 CCMenuItemImage* btn_email = CCMenuItemImage::create(getResPath(ABOUT_BTN_EMAIL_IMG_NOR), getResPath(ABOUT_BTN_EMAIL_IMG_PRS), this, menu_selector(AboutScene::emailHandler)); btn_email->setScale(SCALE * 0.8); btn_email->setPosition(ccp(415 * SCALEX, 312 * SCALEY)); // // Add Link Button // removed by kerberos // CCMenuItemImage* btn_link = CCMenuItemImage::create(getResPath(ABOUT_BTN_LINK_IMG_NOR), getResPath(ABOUT_BTN_LINK_IMG_PRS), this, menu_selector(AboutScene::linkHandler)); // btn_link->setScale(SCALE * 0.8); // btn_link->setPosition(ccp(415 * SCALEX, 312 * SCALEY)); // Add mainmenu button CCMenuItem* btn_menu = CCMenuItemImage::create(getResPath(ABOUT_BTN_MAINMENU_IMG_NOR), getResPath(ABOUT_BTN_MAINMENU_IMG_PRS), this, menu_selector(AboutScene::mainmenuHandler)); btn_menu->setScale(SCALE * 0.8); btn_menu->setPosition(ccp(415 * SCALEX, 217 * SCALEY)); CCMenu* menu = CCMenu::create(btn_menu, btn_email, NULL); menu->setPosition(CCPointZero); this->addChild(menu); // Add Character CCSprite* character = CCSprite::create(getResPath(ABOUT_CHARACTER_IMG)); character->setScale(SCALE); character->setAnchorPoint(ccp(0, 0)); character->setPosition(ccp(10 * SCALEX, 10 * SCALEY)); this->addChild(character); }
void IntroScene::createUI() { // Add background image CCSprite* bg_spt = CCSprite::create(getResPath(INTRO_BACKGROUND_IMGAE)); bg_spt->setScaleX(SCALEX); bg_spt->setScaleY(SCALEY); bg_spt->setPosition(ccp(winSize.width * 0.5, winSize.height * 0.5)); this->addChild(bg_spt); // Add description bg CCSprite* des_bg = CCSprite::create(getResPath(INTRO_DESCRIPTION_BG_IMG)); des_bg->setScaleX(SCALEX); des_bg->setScaleY(SCALEY * 0.5); des_bg->setPosition(ccp(winSize.width * 0.5, 798 * SCALEY)); this->addChild(des_bg); // Add description text CCSprite* des = CCSprite::create(getResPath(INTRO_DESCRIPTION_IMG)); des->setScale(MIN(SCALEX, SCALEY)); des->setPosition(ccp(winSize.width * 0.5, 800 * SCALEY)); this->addChild(des); // Add character CCSprite* character = CCSprite::create(getResPath(INTRO_CHARACTER_IMG)); character->setScale(SCALE * 0.9); character->setPosition(ccp(167 * SCALEX, 385 * SCALEY)); this->addChild(character); // Add blue and yellow chair CCSprite* bl_chair = CCSprite::create(getResPath(CHAIR_BLUE_IMG)); bl_chair->setScale(SCALE * 0.9); bl_chair->setPosition(ccp(140 * SCALEX, 243 * SCALEY)); this->addChild(bl_chair); CCSprite* yl_chair = CCSprite::create(getResPath(CHAIR_YELLOW_IMG)); yl_chair->setScale(SCALE * 0.9); yl_chair->setPosition(ccp(506 * SCALEX, 243 * SCALEY)); this->addChild(yl_chair); // Add play, mainmenu buttons CCMenuItem* playItem = CCMenuItemImage::create(getResPath(INTRO_PLAY_BUTTON_IMAGE_NOR), getResPath(INTRO_PLAY_BUTTON_IMAGE_PRS), this, menu_selector(IntroScene::gotoplay)); playItem->setScale(MIN(SCALEX, SCALEY)); playItem->setPosition(175 * SCALEX, 50 * SCALEY); CCMenuItem* mainmenuItem = CCMenuItemImage::create(getResPath(INTRO_MAINMENU_BUTTON_IMAGE_NOR), getResPath(INTRO_MAINMENU_BUTTON_IMAGE_PRS), this, menu_selector(IntroScene::gotoMainMenu)); mainmenuItem->setScale(MIN(SCALEX, SCALEY)); mainmenuItem->setPosition(467 * SCALEX, 50 * SCALEY); CCMenu* menu = CCMenu::create(playItem, mainmenuItem, NULL); menu->setPosition(CCPointZero); this->addChild(menu); }
void AnnounceLayer::startShowHints() { CCCallFunc* endAction = CCCallFunc::create(this, callfunc_selector(AnnounceLayer::endShowHints)); CCSprite* hint = CCSprite::create(getResPath(GAME_DIFF_HIT_IMG)); hint->setScale(SCALE); hint->setPosition(ccp(winSize.width * 0.5, 772 * SCALEY)); hint->setTag(TAG_HINTSPT); this->addChild(hint); hint->runAction(CCSequence::create(CCBlink::create(2.0, 3), endAction, NULL)); }
bool Hero::init() { if (!CCSprite::init()) { return false; } CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFramesWithFile(getResPath("images/gameScene/character_animation.plist")); options = GameOptions::getInstance(); stop(); // shoot(); return true; }
void AnnounceLayer::endCountDownAction() { // Do next count down countdown--; if (countdown > 0) { this->doNextCountDown(); } else { // Remove the old countdown label countLabel->removeFromParentAndCleanup(true); countLabel = NULL; CCSprite* letter_name_bg = CCSprite::create(getResPath(GAMESCENE_LETTER_BG_IMG)); letter_name_bg->setScaleX(SCALEX); letter_name_bg->setScaleY(SCALEY); letter_name_bg->setPosition(ccp(480 * SCALEX, 200 * SCALEY)); this->addChild(letter_name_bg); // Done countdown. Announce the letters ((GameScene*)this->getParent())->changeGameState(GAME_START_GAME); } }
bool CCAlertView::init(const char *_title, const char *_message, const char *_cancel, const char *_ok, CCObject *_object, SEL_CallFuncO _selector1, SEL_CallFuncO _selector2) { this->setTouchPriority(0); object = _object; selector1 = _selector1; selector2 = _selector2; CCSize size = CCDirector::sharedDirector()->getWinSize(); this->setTouchEnabled(true); this->setPosition(ccp(size.width / 2.0f, size.height / 2.0f)); CCSprite *bgSprite = CCSprite::create(getResPath("images/mainmenuScene/blank.png")); bgSprite->setTextureRect(CCRect(0, 0, size.width, size.height)); bgSprite->setColor(ccc3(0, 0, 0)); bgSprite->setOpacity(0); this->addChild(bgSprite, 1000); CCSprite *alertViewSprite = CCSprite::create(getResPath("images/mainmenuScene/alert_bg.png")); this->addChild(alertViewSprite, 1001); CCMenuItemImage *button1 = CCMenuItemImage::create(getResPath("images/mainmenuScene/btn_ok_nor.png"), getResPath("images/mainmenuScene/btn_ok_prs.png"), this, menu_selector(CCAlertView::button1Callback)); CCMenuItemImage *button2 = CCMenuItemImage::create(getResPath("images/mainmenuScene/btn_cancel_nor.png"), getResPath("images/mainmenuScene/btn_cancel_prs.png"), this, menu_selector(CCAlertView::button2Callback)); // button1->setOpacity(180); // button2->setOpacity(180); CCMenu *alertMenu = CCMenu::create(button1, button2, NULL); alertMenu->alignItemsHorizontallyWithPadding(20); alertMenu->setPosition(ccp(alertViewSprite->getContentSize().width / 2.0f, (button1->getContentSize().height / 2.0f))); alertViewSprite->addChild(alertMenu); //80,150 CCLabelTTF *titleLabel = CCLabelTTF::create(_title, STANDARD_FONT, 70); titleLabel->setAnchorPoint(CCPoint(0.5, 1.0)); titleLabel->setPosition(ccp(alertViewSprite->getContentSize().width / 2.0f, alertViewSprite->getContentSize().height - 20 * SCALE)); alertViewSprite->addChild(titleLabel); CCLabelTTF *messageLabel = CCLabelTTF::create(_message, STANDARD_FONT, 40, CCSizeMake(alertViewSprite->getContentSize().width - 50 * SCALE, 0), kCCTextAlignmentCenter); messageLabel->setAnchorPoint(CCPoint(0.5, 1.0)); messageLabel->setPosition(ccp(alertViewSprite->getContentSize().width / 2.0f, titleLabel->getPositionY() - 100)); alertViewSprite->addChild(messageLabel); CCLabelTTF *cancelLabel = CCLabelTTF::create(_cancel, STANDARD_FONT, 18); cancelLabel->setPosition(ccp(button2->getContentSize().width / 2.0f, button2->getContentSize().height / 2.0f)); button1->addChild(cancelLabel); CCLabelTTF *OKlabel = CCLabelTTF::create(_ok, STANDARD_FONT, 18); OKlabel->setPosition(ccp(button1->getContentSize().width / 2.0f, button1->getContentSize().height / 2.0f)); button2->addChild(OKlabel); bgSprite->runAction(CCFadeTo::create(0.1f, 150)); // CCFiniteTimeAction *scale1 = CCScaleTo::create(0.15f, 1.1f); // CCFiniteTimeAction *scale2 = CCScaleTo::create(0.1f, 0.9f); // CCFiniteTimeAction *scale3 = CCScaleTo::create(0.05f, 1.0f); alertViewSprite->setScaleX(SCALEX); alertViewSprite->setScaleY(SCALEY); //alertViewSprite->runAction(CCSequence::create(scale1, scale2, scale3, NULL)); return true; }
void TargetLayer::makeTargets(int countTargets, cocos2d::CCArray *targetLetters) { this->removeAllChildrenWithCleanup(true); targets->removeAllObjects(); int targetCount = 0; int rows =(countTargets + DEFAULT_COLS - 1) / DEFAULT_COLS; int cols = countTargets > DEFAULT_COLS?DEFAULT_COLS:countTargets; float targetSpaceX = (winSize.width - (2.0 * TARGET_AREA_PAD)) / cols; for (int rowIndex = 0; rowIndex < rows; rowIndex++) { // Check if more targets than letters. Just stop making targets. if (targetCount >= targetLetters->count() && targetLetters->count() != 0) { break; } cols = (countTargets - targetCount) > DEFAULT_COLS?DEFAULT_COLS:(countTargets - targetCount); targetSpaceX = (winSize.width - (2.0 * TARGET_AREA_PAD)) / cols; CCLog("Cols is %d", cols); CCLog("targetSpaceX is %f", targetSpaceX); // Calculate the Y position float yPos = winSize.height - TARGET_AREA_Y_OFFSET - 120 * SCALEY * rowIndex; for (int colIndex = 0; colIndex < cols ; colIndex++) { // Calculate the X position float xPos = (colIndex * targetSpaceX) + targetSpaceX * 0.5 + TARGET_AREA_PAD; // Add Targret Sprite CCSprite* targetSprite = CCSprite::create(getResPath(GAME_TARGET_IMG)); targetSprite->setPosition(ccp(xPos, yPos)); targetSprite->setScale(SCALE * 1.2); this->addChild(targetSprite, 0); // Add the target sprite targets->addObject(targetSprite); string fontName; bool fontType = GameOptions::getInstance()->getFontType(); if (fontType) { fontName = FONT_LETTER_NOR; }else { fontName = FONT_LETTER_CUR; } CCLabelTTF* letterSprite; if (targetLetters->count() > 0) { // Get the next letter for the target CCInteger* numberObj = (CCInteger*)targetLetters->objectAtIndex(targetCount); int letterIndex = numberObj->getValue(); targetSprite->setTag(TAG_TARGET + letterIndex); // Make the letter sprite(Label) on the target. Font size is the target width string letterString = AlphaBetUtils::getInstance()->getKeyMapFont(letterIndex); letterSprite = CCLabelTTF::create(letterString.c_str(), fontName.c_str(), targetSprite->getContentSize().width * 0.6); letterSprite->setVerticalAlignment(kCCVerticalTextAlignmentCenter); letterSprite->setHorizontalAlignment(kCCTextAlignmentCenter); letterSprite->setDimensions(CCSize(targetSprite->getContentSize().width, targetSprite->getContentSize().width)); }else { // Fill-in an Empty Target letterSprite = CCLabelTTF::create("", fontName.c_str(), targetSprite->getContentSize().width); } letterSprite->setColor(letterColor); CCPoint centerPoint = ccp(targetSprite->getContentSize().width * 0.5, targetSprite->getContentSize().height * 0.5); letterSprite->setPosition(centerPoint); targetSprite->addChild(letterSprite, 10, TAG_LETTER); targetCount++; } } CCLOG("Targets Count is %d", targets->count()); }