bool RPGMapItemsMenuLayer::init(cocos2d::CCDictionary *stringList, CppSQLite3DB *db, float width, float height) { if(CCLayerColor::initWithColor(ccc4(0, 0, 0, 200), width, height)) { this->m_stringList = stringList; this->m_stringList->retain(); this->m_db = db; this->m_itemsList = new CCArray(); this->m_itemsList->init(); CCTMXTiledMap *mainBg = CCTMXTiledMap::create(CCString::createWithFormat("map_menu3_%s.tmx", CCUserDefault::sharedUserDefault()->getStringForKey(GAME_STYLE).c_str())->getCString()); mainBg->setPosition(CCPointZero); mainBg->setTag(kRPGMapItemsMenuLayerTagBg); this->addChild(mainBg); CCMenu *mainMenu = CCMenu::create(); mainMenu->setTag(kRPGMapItemsMenuLayerTagMainMenu); mainMenu->setAnchorPoint(CCPointZero); mainMenu->setPosition(CCPointZero); this->addChild(mainMenu); CCMenuItemSprite *menuBack = (CCMenuItemSprite*)mainMenu->getChildByTag(kRPGMapItemsMenuLayerTagMainMenuBack); if(!menuBack) { menuBack = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), this, menu_selector(RPGMapItemsMenuLayer::onMenu)); menuBack->setPosition(ccp(40, 600)); menuBack->setTag(kRPGMapItemsMenuLayerTagMainMenuBack); menuBack->setScale(0.5); mainMenu->addChild(menuBack); } CCTableView *tableView = CCTableView::create(this, CCSizeMake(900, 570)); tableView->setDirection(kCCScrollViewDirectionVertical); tableView->setPosition(ccp(80, 30)); tableView->setDelegate(this); tableView->setVerticalFillOrder(kCCTableViewFillTopDown); tableView->setTag(kRPGMapItemsMenuLayerTagItemListTable); this->addChild(tableView); this->loadItemsData(); return true; } return false; }
void IOSStoreLayer::initBuystarNode() { //获取要显示的所有道具的个数 if (m_iBuyStarCellCount <= 0 ) { return; } //添加道具的tableview CCTableView* tableView = (CCTableView*)m_pKaibaoxiangNode->getChildByTag(buystar_node_tableview_tag); if (tableView) { tableView->removeFromParent(); } tableView = CCTableView::create(this, CCSizeMake(230*m_iBuyStarCellCount, 380)); tableView->setViewSize(CCSizeMake(920, 380)); tableView->setDirection(kCCScrollViewDirectionHorizontal); tableView->setPosition(ccp(35, 40)); tableView->setDelegate(this); tableView->setTag(buystar_node_tableview_tag); CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(tableView); if (m_iBuyStarCellCount > 4) { tableView->runAction(CCSequence::create(CCDelayTime::create(0.01f), CCCallFuncN::create(this, callfuncN_selector(IOSStoreLayer::UpTableViewPrioority)), NULL)); } m_pBuyStarNode->addChild(tableView, 2); tableView->reloadData(); //左边箭头 CCSprite* pLeftArrows = CCSprite::create(ResManager::getManager()->getSharedFilePath(g_seasonlayerPath+"sectionItem_buttom_left.png").c_str()); m_pBuyStarNode->addChild(pLeftArrows, 3, left_arrow_tag); pLeftArrows->setPosition(ccp(pLeftArrows->getContentSize().width/2, tableView->getViewSize().height/2 + tableView->getPositionY())); float dt = 1.2f; pLeftArrows->runAction(CCRepeatForever::create(CCSequence::create(CCFadeIn::create(dt), CCFadeOut::create(dt), NULL))); pLeftArrows->setVisible(false); //右边箭头 CCSprite* pRightArrows = CCSprite::create(ResManager::getManager()->getSharedFilePath(g_seasonlayerPath+"sectionItem_buttom_right.png").c_str()); m_pBuyStarNode->addChild(pRightArrows, 3, right_arrow_tag); pRightArrows->setPosition(ccp(tableView->getViewSize().width + tableView->getPositionX(), pLeftArrows->getPositionY())); pRightArrows->runAction(CCRepeatForever::create(CCSequence::create(CCFadeIn::create(dt), CCFadeOut::create(dt), NULL))); }
bool MallMarkets::init() { if (!CCLayer::init()) { return false; } writablePathLocal = CCFileUtils::sharedFileUtils()->getWritablePath(); layerMarket = NULL; ColorLayer *modleLayer = ColorLayer::create(); modleLayer->setOpacity(100); this->addChild(modleLayer); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSprite *bg = CCSprite::create("ZF_Shoot_background_coinList.png"); CCSize size = bg->getContentSize(); bg->setContentSize(CCSize(winSize.width*0.58, winSize.height*0.98)); bg->setPosition(ccp(winSize.width/2,winSize.height*0.5)); this->addChild(bg); //1.加载服务器所有奖品 //2.init tableView this->tableViewX = winSize.width*0.17; //获取奖品表格的高度 CCSprite *pSprite = CCSprite::create("ZF_Shoot_Button_gridItem.png"); CCSize tableCellSize = pSprite->getContentSize(); this->tableViewCellHeight = tableCellSize.height; CCLog("tableViewCellHeight: %d",this->tableViewCellHeight); CCTableView *tableView = CCTableView::create(this, CCSizeMake(winSize.width*0.715,winSize.height*0.71)); tableView->setDirection(kCCScrollViewDirectionVertical); tableView->setAnchorPoint(ccp(0, 0)); tableView->setPosition( ccp(winSize.width*0.22,winSize.height*0.15)); tableView->setDelegate(this); tableView->setVerticalFillOrder(kCCTableViewFillTopDown); tableView->setTag(1136); this->addChild(tableView); tableView->reloadData(); //3.添加2个按钮 //ZF_Shoot_button_serverPrizeList_mall2 CCMenuItemImage *item1 = CCMenuItemImage::create("ZF_Shoot_button_coinList_fubi1.png", "ZF_Shoot_button_coinList_fubi1.png"); CCMenuItemImage *item2 = CCMenuItemImage::create("ZF_Shoot_button_coinList_fubi2.png", "ZF_Shoot_button_coinList_fubi2.png"); toggleServer = CCMenuItemToggle::createWithTarget(this, menu_selector(MallMarkets::menuItemCall), item1,item2,NULL); toggleServer->setPosition( CCPointMake(winSize.width*0.325, winSize.height*0.86)); toggleServer->setAnchorPoint(ccp(1, 0)); toggleServer->setEnabled(false); toggleServer->setTag(1122); //ZF_Shoot_button_coinList_prop2ZF_Shoot_button_coinList_prop2 CCMenuItemImage *item3 = CCMenuItemImage::create("ZF_Shoot_button_coinList_prop2.png", "ZF_Shoot_button_coinList_prop2.png"); CCMenuItemImage *item4 = CCMenuItemImage::create("ZF_Shoot_button_coinList_prop1.png", "ZF_Shoot_button_coinList_prop1.png"); togglePlayer = CCMenuItemToggle::createWithTarget(this, menu_selector(MallMarkets::menuItemCall), item3,item4,NULL); togglePlayer->setTag(1133); togglePlayer->setPosition( CCPointMake(winSize.width*0.425, winSize.height*0.86)); //togglePlayer->setAnchorPoint(CCPointZero); togglePlayer->setAnchorPoint(ccp(1, 0)); CCMenu *menu = CCMenu::create(toggleServer,togglePlayer,NULL); menu->setPosition(CCPointZero); this->addChild(menu, 1); //4.返回按钮 CCMenuItemImage *pCloseItem = CCMenuItemImage::create( "ZF_Shoot_button_coinList_back1.png", "ZF_Shoot_button_coinList_back2.png", this, menu_selector(MallMarkets::menuCloseCallBack) ); pCloseItem->setPosition( CCPointMake(winSize.width*0.75 , winSize.height*0.92) ); CCMenu* pMenu = CCMenu::create(pCloseItem, NULL); pMenu->setPosition( CCPointZero ); this->addChild(pMenu); return true; }
void IOSStoreLayer::initKaibaoxiangNode() { //获取要显示的所有道具的个数 if (m_iBaoxiangCellCount <= 0 ) { return; } //添加道具的tableview CCTableView* tableView = (CCTableView*)m_pKaibaoxiangNode->getChildByTag(kaibaoxiang_node_tableview_tag); if (tableView) { tableView->removeFromParent(); } tableView = CCTableView::create(this, CCSizeMake(230*m_iBaoxiangCellCount, 380)); // tableView->ignoreAnchorPointForPosition(false); // tableView->setAnchorPoint(ccp(0.5f, 0.5f)); tableView->setViewSize(CCSizeMake(920, 380)); tableView->setDirection(kCCScrollViewDirectionHorizontal); tableView->setPosition(ccp(35, 40)); // tableView->setPosition(ccp(m_pBg->getContentSize().width/2, m_pBg->getContentSize().height/2)); tableView->setDelegate(this); tableView->setTag(kaibaoxiang_node_tableview_tag); CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(tableView); if (m_iBaoxiangCellCount > 4) { tableView->runAction(CCSequence::create(CCDelayTime::create(0.01f), CCCallFuncN::create(this, callfuncN_selector(IOSStoreLayer::UpTableViewPrioority)), NULL)); } m_pKaibaoxiangNode->addChild(tableView, 2); tableView->reloadData(); if (m_iBaoxiangCellCount > 0 && m_iBaoxiangCellCount <= 2) { tableView->setViewSize(CCSizeMake(230*m_iBaoxiangCellCount, 380)); } if(m_iBaoxiangCellCount == 1) { tableView->setPosition(ccp(m_pBg->getContentSize().width/2 - 115, 40)); } else if (m_iBaoxiangCellCount == 2) { tableView->setPosition(ccp(m_pBg->getContentSize().width/2 - 220, 40)); } else if (m_iBaoxiangCellCount == 3) { tableView->setPosition(ccp(m_pBg->getContentSize().width/2 - 345, 40)); } //右边说明文字背景 CCSprite* pLeftBg = CCSprite::create(ResManager::getManager()->getSharedFilePath(g_storelayerPath+"main_shangdian_daoju_bg_2.png").c_str()); pLeftBg->setPosition(ccp(tableView->getPositionX() - pLeftBg->getContentSize().width/2, tableView->getPositionY()+pLeftBg->getContentSize().height/2)); m_pKaibaoxiangNode->addChild(pLeftBg); pLeftBg->setTag(leftbg_tag); //右边说明文字 CCLabelTTF* pLabel = CCLabelTTF::create("", fontStr_katong, 24, CCSize(180, 0), kCCTextAlignmentLeft); pLabel->setColor(fontColor_Store); pLabel->setPosition(ccp(pLeftBg->getContentSize().width/2, pLeftBg->getContentSize().height/2+10)); pLeftBg->addChild(pLabel, 1); pLabel->setTag(leftbg_string_tag); //下边说明文字背景 CCSprite* pDownBg = CCSprite::create(ResManager::getManager()->getSharedFilePath(g_storelayerPath+"main_shangdian_daoju_bg_3.png").c_str()); pDownBg->setPosition(ccp(pLeftBg->getContentSize().width/2, pLeftBg->getContentSize().height/2)); pLeftBg->addChild(pDownBg, 1, downbg_tag); CCLabelTTF* pDownLabel = CCLabelTTF::create("", fontStr_katong, 24, CCSize(200, 0), kCCTextAlignmentCenter); pDownLabel->setPosition(ccp(pDownBg->getPositionX()-3, 60)); pDownBg->addChild(pDownLabel, 1); pDownLabel->setTag(downbg_string_tag); if (m_enumComeFrom != from_SeasonSelector) { pDownBg->setVisible(false); pDownLabel->setVisible(false); } this->setComefrom(m_enumComeFrom); }
void RPGBattleMenu::onMenu(cocos2d::CCObject *pObject) { CCMenuItem *menuItem = (CCMenuItem*)pObject; SimpleAudioEngine::sharedEngine()->playEffect("audio_effect_btn.wav"); switch (menuItem->getTag()) { case kRPGBattleMenuTagSkill: { CCLog("技能"); this->hideMenu(); this->m_selectedMenuTag = kRPGBattleMenuTagSkill; CCMenuItemSprite *menuCancel = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), this, menu_selector(RPGBattleMenu::onMenu)); menuCancel->setPosition(ccp(43, 596)); menuCancel->setTag(kRPGBattleMenuTagCancel); menuCancel->setScale(0.75); this->addChild(menuCancel); CCTMXTiledMap *selectLayer = CCTMXTiledMap::create(CCString::createWithFormat("battle_select_%s.tmx", CCUserDefault::sharedUserDefault()->getStringForKey(GAME_STYLE).c_str())->getCString()); selectLayer->setPosition(ccp((CCDirector::sharedDirector()->getWinSize().width - selectLayer->getContentSize().width) / 2, (CCDirector::sharedDirector()->getWinSize().height - selectLayer->getContentSize().height) / 2)); selectLayer->setTag(kRPGBattleSceneLayerTagSkillSelectDialog); ((RPGBattleSceneLayer*)this->m_parentNode)->addChild(selectLayer); ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(true); //显示title和分隔线 addLab(selectLayer, 199, (CCString*)this->m_stringList->objectForKey("skill_title"), 25, ccp(310, 285)); CCLabelTTF *titleLab = (CCLabelTTF*)selectLayer->getChildByTag(199); titleLab->setFontFillColor(ccc3(144, 144, 144)); CCSprite *separate = CCSprite::createWithSpriteFrameName("separate.png"); separate->setPosition(ccp(selectLayer->getContentSize().width / 2, 260)); separate->setScaleX(0.65); separate->setTag(198); selectLayer->addChild(separate); //加载技能数据 CCTableView *tableView = (CCTableView*)selectLayer->getChildByTag(197); if(!tableView) { tableView = CCTableView::create(this, ccp(selectLayer->getContentSize().width, selectLayer->getContentSize().height - 80)); tableView->setDirection(kCCScrollViewDirectionVertical); tableView->setPosition(CCSizeZero); tableView->setDelegate(this); tableView->setVerticalFillOrder(kCCTableViewFillTopDown); tableView->setTag(197); selectLayer->addChild(tableView); } this->m_tableItems->removeAllObjects(); string wq = ""; JsonBox::Value json; json.loadFromString(this->m_playerData->m_skill.c_str()); JsonBox::Array jsonArr = json.getArray(); for (int i = 0; i < jsonArr.size(); i++) { char* str = (char*)malloc(10 * sizeof(char)); OzgCCUtility::itoa(jsonArr[i].getInt(), str); wq.append(str); if(i + 1 < jsonArr.size()) wq.append(", "); free(str); } if((int)wq.length() > 0) { CppSQLite3Query query = this->m_db->execQuery(CCString::createWithFormat(SKILL_QUERY, wq.c_str())->getCString()); while(!query.eof()) { RPGSkillBtnData *skill = RPGSkillBtnData::create(); skill->m_dataId = query.getIntField("id"); skill->m_name = query.getStringField("name_cns"); skill->m_MP = query.getIntField("mp"); skill->m_skillAttack = query.getIntField("skill_attack"); skill->m_type = query.getIntField("type"); skill->m_attr = query.getIntField("attr"); skill->m_enabled = true; //不能使用技能的情况 if(this->m_playerData->m_MP <= 0 || this->m_playerData->m_HP <= 0) skill->m_enabled = false; else if(this->m_playerData->m_MP < skill->m_MP) skill->m_enabled = false; this->m_tableItems->addObject(skill); query.nextRow(); } query.finalize(); } tableView->reloadData(); //加载技能数据 end ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(false); } break; case kRPGBattleMenuTagItems: { CCLog("道具"); this->hideMenu(); this->m_selectedMenuTag = kRPGBattleMenuTagItems; CCMenuItemSprite *menuCancel = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), this, menu_selector(RPGBattleMenu::onMenu)); menuCancel->setPosition(ccp(43, 596)); menuCancel->setTag(kRPGBattleMenuTagCancel); menuCancel->setScale(0.75); this->addChild(menuCancel); CCTMXTiledMap *selectLayer = CCTMXTiledMap::create(CCString::createWithFormat("battle_select_%s.tmx", CCUserDefault::sharedUserDefault()->getStringForKey(GAME_STYLE).c_str())->getCString()); selectLayer->setPosition(ccp((CCDirector::sharedDirector()->getWinSize().width - selectLayer->getContentSize().width) / 2, (CCDirector::sharedDirector()->getWinSize().height - selectLayer->getContentSize().height) / 2)); selectLayer->setTag(kRPGBattleSceneLayerTagItemsSelectDialog); ((RPGBattleSceneLayer*)this->m_parentNode)->addChild(selectLayer); ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(true); //显示title和分隔线 addLab(selectLayer, 199, (CCString*)this->m_stringList->objectForKey("items_title"), 25, ccp(310, 285)); CCLabelTTF *titleLab = (CCLabelTTF*)selectLayer->getChildByTag(199); titleLab->setFontFillColor(ccc3(144, 144, 144)); CCSprite *separate = CCSprite::createWithSpriteFrameName("separate.png"); separate->setPosition(ccp(selectLayer->getContentSize().width / 2, 260)); separate->setScaleX(0.65); separate->setTag(198); selectLayer->addChild(separate); //加载道具数据 CCTableView *tableView = (CCTableView*)selectLayer->getChildByTag(197); if(!tableView) { tableView = CCTableView::create(this, ccp(selectLayer->getContentSize().width, selectLayer->getContentSize().height - 80)); tableView->setDirection(kCCScrollViewDirectionVertical); tableView->setPosition(CCSizeZero); tableView->setDelegate(this); tableView->setVerticalFillOrder(kCCTableViewFillTopDown); tableView->setTag(197); selectLayer->addChild(tableView); } this->m_tableItems->removeAllObjects(); CCArray *existingItems = ((RPGBattleSceneLayer*)this->m_parentNode)->m_existingItems; for (int i = 0; i < existingItems->count(); i++) this->m_tableItems->addObject(existingItems->objectAtIndex(i)); tableView->reloadData(); //加载道具数据 end ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(false); } break; case kRPGBattleMenuTagEscape: { // CCLog("逃跑"); float success = CCRANDOM_0_1(); if(success >= 0.0 && success <= 0.5) { // CCLog("逃跑成功"); this->setEnabled(false); this->removeFromParentAndCleanup(true); ((RPGBattleSceneLayer*)this->m_parentNode)->goToMap(); } else { ((RPGBattleSceneLayer*)this->m_parentNode)->showMsg((CCString*)this->m_stringList->objectForKey("escape_fail")); //重置进度条 this->m_playerData->m_progress = 0.0; CCProgressTimer *battleProgress = (CCProgressTimer*)this->m_parentNode->getChildByTag(kRPGBattleSceneLayerTagPlayerProgress + this->m_playerData->m_dataId); battleProgress->setPercentage(this->m_playerData->m_progress); ((RPGBattleSceneLayer*)this->m_parentNode)->scheduleUpdate(); CCTMXTiledMap *bgLayer = (CCTMXTiledMap*)this->m_parentNode->getChildByTag(kRPGBattleMenuTagBg); bgLayer->removeFromParentAndCleanup(true); this->removeFromParentAndCleanup(true); } } break; case kRPGBattleMenuTagCancel: { // CCLog("取消"); this->showMenu(); CCMenuItem *menuCancel = (CCMenuItem*)this->getChildByTag(kRPGBattleMenuTagCancel); menuCancel->removeFromParentAndCleanup(true); switch (this->m_selectedMenuTag) { case kRPGBattleMenuTagAttack: CCLog("取消攻击"); ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(false); ((RPGBattleSceneLayer*)this->m_parentNode)->cancelAllSelected(); break; case kRPGBattleMenuTagSkill: CCLog("取消技能列表"); if(((RPGBattleSceneLayer*)this->m_parentNode)->getChildByTag(kRPGBattleSceneLayerTagSkillSelectDialog)) ((RPGBattleSceneLayer*)this->m_parentNode)->removeChildByTag(kRPGBattleSceneLayerTagSkillSelectDialog, true); ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(false); ((RPGBattleSceneLayer*)this->m_parentNode)->cancelAllSelected(); break; case kRPGBattleMenuTagItems: CCLog("取消道具列表"); if(((RPGBattleSceneLayer*)this->m_parentNode)->getChildByTag(kRPGBattleSceneLayerTagItemsSelectDialog)) ((RPGBattleSceneLayer*)this->m_parentNode)->removeChildByTag(kRPGBattleSceneLayerTagItemsSelectDialog, true); ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(false); ((RPGBattleSceneLayer*)this->m_parentNode)->cancelAllSelected(); break; // default: // break; } } break; case kRPGBattleMenuTagCancel2: { //这个选择了一个技能或道具后,到了选择目标对象的一步,使用到的取消按钮 CCMenuItemSprite *menuCancel = (CCMenuItemSprite*)this->getChildByTag(kRPGBattleMenuTagCancel); menuCancel->setVisible(true); CCMenuItemSprite *menuCancel2 = (CCMenuItemSprite*)this->getChildByTag(kRPGBattleMenuTagCancel2); menuCancel2->removeFromParentAndCleanup(true); if(this->m_parentNode->getChildByTag(kRPGBattleSceneLayerTagItemsSelectDialog)) this->m_parentNode->getChildByTag(kRPGBattleSceneLayerTagItemsSelectDialog)->setVisible(true); if(this->m_parentNode->getChildByTag(kRPGBattleSceneLayerTagSkillSelectDialog)) this->m_parentNode->getChildByTag(kRPGBattleSceneLayerTagSkillSelectDialog)->setVisible(true); ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(false); ((RPGBattleSceneLayer*)this->m_parentNode)->cancelAllSelected(); } break; default: { CCLog("攻击"); this->hideMenu(); this->m_selectedMenuTag = kRPGBattleMenuTagAttack; CCMenuItemSprite *menuCancel = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), CCSprite::createWithSpriteFrameName("commons_btn_back_04.png"), this, menu_selector(RPGBattleMenu::onMenu)); menuCancel->setPosition(ccp(43, 596)); menuCancel->setTag(kRPGBattleMenuTagCancel); menuCancel->setScale(0.75); this->addChild(menuCancel); ((RPGBattleSceneLayer*)this->m_parentNode)->enabledTouched(true); } break; } }
bool S2TestMain::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //每个项目都要创建的东西 _menu = CCMenu::create(NULL); _menu->setPosition(CCPointZero); CC_BREAK_IF(! _menu); this->addChild(_menu, 2); //*****************背景图/ NavBar/ Title*****************// { CCSprite * aSprite = CCSprite::create("pBackground.png"); aSprite->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2)); //CC_BREAK_IF(! aSprite); this->addChild(aSprite,1); aSprite ->getTexture()->setAntiAliasTexParameters();//抗锯齿 } { CCSprite * aSprite = CCSprite::create("pNavBar.png"); aSprite->setPosition(s2Position2_macro(aSprite)); //CC_BREAK_IF(! aSprite); this->addChild(aSprite,1); } { CCLabelTTF * titleLabel = CCLabelTTF::create("Test 1", "Arial", s2FontSize1_macro); titleLabel->setPosition(s2Position1_macro(aItem)); //CC_BREAK_IF(! aSprite); this->addChild(titleLabel,1); } //*****************BackButton And BackLabel*****************// { CCSprite * sprite1 = CCSprite::create("pBackButton.png"); CCSprite * sprite2 = CCSprite::create("pBackButton.png"); CCMenuItemSprite *aItem = CCMenuItemSprite::create( sprite1, sprite2, this, menu_selector(S2TestMain::menuOnBackCallback)); CC_BREAK_IF(! aItem); aItem->setPosition(s2Position3_macro(aItem)); _menu ->addChild(aItem,1); { CCLabelTTF *label_back = CCLabelTTF::create("Test", "Arial", s2FontSize2_macro, sprite1->getContentSize(), kCCTextAlignmentCenter, kCCVerticalTextAlignmentCenter); label_back->setPosition(s2Position3_macro(aItem)); this ->addChild(label_back,2); } } //*****************pRecButton*****************// { CCSprite * sprite1 = CCSprite::create("pRecButton.png"); CCSprite * sprite2 = CCSprite::create("pRecButton.png"); CCMenuItemSprite *aItem = CCMenuItemSprite::create( sprite1, sprite2, this, menu_selector(S2TestMain::menuShowPracticeList)); CC_BREAK_IF(! aItem); aItem->setPosition(s2Position4_macro(aItem)); _menu ->addChild(aItem,1); } //*****************Practice List 集,包括小TableView和背景*****************// { CCSprite *spritePracticeList = CCSprite::create("s2Popover.png"); spritePracticeList->setPosition(s2Position5_macro(aSprite)); CC_BREAK_IF(! spritePracticeList); spritePracticeList->setTag(s2Tag4); spritePracticeList->setVisible(false); this->addChild(spritePracticeList,10); CCTableView* pTableView = CCTableView::create(this, s2Size1_macro(aTableView)); CC_BREAK_IF(! pTableView); pTableView->setDirection(kCCScrollViewDirectionVertical); pTableView->setPosition(ccp(129,160));//bug pTableView->setDelegate(this); pTableView->setTag(s2Tag2); // 设置顺序是自上往下 pTableView->setVerticalFillOrder(kCCTableViewFillTopDown); spritePracticeList->addChild(pTableView); pTableView->reloadData(); } //*****************大的TableView 及 背景*****************// CCSprite *spriteBackground = CCSprite::create("s2SixRowTable.png"); spriteBackground->setPosition(s2Position6_macro(aSprite)); CC_BREAK_IF(! spriteBackground); this->addChild(spriteBackground,1); { CCTableView* pTableView = CCTableView::create(this, s2Size3_macro(aTableView)); CC_BREAK_IF(! pTableView); pTableView->setDirection(kCCScrollViewDirectionVertical); pTableView->setPosition(ccp(spriteBackground->getPosition().x-(spriteBackground->getContentSize().width / 2),spriteBackground->getPosition().y-(spriteBackground->getContentSize().height / 2) + s2Less1_macro / 2)); pTableView->setDelegate(this); pTableView->setTag(s2Tag3); // 设置顺序是自上往下 pTableView->setVerticalFillOrder(kCCTableViewFillTopDown); this->addChild(pTableView,1); { string str = "Section 1"; aVectorCellValue.push_back(str); } { string str = "Section 2"; aVectorCellValue.push_back(str); } { string str = "Section 3"; aVectorCellValue.push_back(str); } { string str = "Section 4"; aVectorCellValue.push_back(str); } { string str = "Section 5"; aVectorCellValue.push_back(str); } pTableView->reloadData(); } bRet = true; } while (0); return bRet; }