Esempio n. 1
0
bool CChooseLetterWindow::init()
{	   
	m_Back = Sprite::create("choose_letter.png");
	m_Back->setPosition(600,384); 
	m_Back->setVisible(false);
	addChild(m_Back);
	std::vector<char> m_Letters;
	m_Letters.resize(26);
	m_Letters[0] = 'a'; m_Letters[1] = 'b'; m_Letters[2] = 'c'; m_Letters[3] = 'd'; m_Letters[4] = 'e'; m_Letters[5] = 'f'; m_Letters[6] = 'g'; 
	m_Letters[7] = 'h'; m_Letters[8] = 'i'; m_Letters[9] = 'j'; m_Letters[10] = 'k'; m_Letters[11] = 'l'; m_Letters[12] = 'm'; m_Letters[13] = 'n'; 
	m_Letters[14] = 'o'; m_Letters[15] = 'p'; m_Letters[16] = 'q'; m_Letters[17] = 'r'; m_Letters[18] = 's'; m_Letters[19] = 't'; m_Letters[20] = 'u'; 
	m_Letters[21] = 'v'; m_Letters[22] = 'w'; m_Letters[23] = 'x'; m_Letters[24] = 'y'; m_Letters[25] = 'z'; 

	float startPosX = -460.0f;
	float startPosY = -150.0f;
	float stepX = 45.0f;
	float stepY = 45.0f;
	int columnCount = 6;
	int rowCount = 4;
	int id = 0;
	int currentColumn = 0;
	int currentRow = 0;
	m_pMenu = CCMenu::create();
	for(int i=0;i<m_Letters.size();i++)
	{
		Point pos = Point(startPosX+(currentColumn*stepX),startPosY+(-currentRow*stepY));
		CCMenuItem * button = CCMenuItemImage::create(
			"base.png",
			"fixed.png",
			this,
			menu_selector(CChooseLetterWindow::LetterBtnClick));
		button->setTag(int(m_Letters[i]));
		button->setScale(0.35f);
		button->setPosition(pos);
		LabelTTF * letterLabel = LabelTTF::create("0","helvetica",82);	
		letterLabel->setPosition(button->getContentSize().width/2,button->getContentSize().height/2);
		letterLabel->setColor(Color3B(0,0,0));
		std::string str = "A";
		str[0] = m_Letters[i];
		std::transform(str.begin(), str.end(),str.begin(), ::toupper);
		letterLabel->setString(str);
		button->addChild(letterLabel);
		//letterLabel->setPosition(pos);

		currentColumn++;
		if(currentColumn == columnCount)
		{
			currentColumn = 0;
			currentRow++;
		}
		m_pMenu->addChild(button);
		m_pMenu->setEnabled(false);
	}

	m_Back->addChild(m_pMenu);


	return true;
}
Esempio n. 2
0
bool ControlLayer::init()
{
	if(!CCLayer::init())
	{
		return false;
	}

	//创建方向按钮
	CCMenuItem *up = CCMenuItemFont::itemWithString("up", this, menu_selector(ControlLayer::menuCallBackMove));
	CCMenuItem *down = CCMenuItemFont::itemWithString("down", this, menu_selector(ControlLayer::menuCallBackMove));
	CCMenuItem *left = CCMenuItemFont::itemWithString("left", this, menu_selector(ControlLayer::menuCallBackMove));
	CCMenuItem *right = CCMenuItemFont::itemWithString("right", this, menu_selector(ControlLayer::menuCallBackMove));
	up->setTag(kUp);
	down->setTag(kDown);
	left->setTag(kLeft);
	right->setTag(kRight);
	CCMenu *menu = CCMenu::menuWithItems(up, down, left, right, NULL);
	
	//排列按钮
	menu->alignItemsHorizontallyWithPadding(50);
	this->addChild(menu);

	return true;
}
void DropDownListSprite:: addLabel(CCLabelTTF * label)
{
    
    CCSize size = getContentSize();
    CCLayerColor * normal = CCLayerColor::create(DROPDOWNLIST_NORMAL_COLOR,size.width,size.height);
    CCLayerColor * selected = CCLayerColor::create(DROPDOWNLIST_SELECTED_COLOR, size.width, size.height);
    
    m_bgLayers.push_back(normal);
    m_selectLabels.push_back(label);
    CCMenuItem * item = CCMenuItemSprite::create(normal, selected, NULL,this, SEL_MenuHandler(&DropDownListSprite::onSelected));
    
    label->setPosition(ccp(size.width/2, size.height/2));
    item->addChild(label);
    item->setTag((int)m_selectLabels.size()-1);
    item->setPosition(ccp(0,- (int)m_selectLabels.size() * size.height));
    m_mainMenu->addChild(item);
    
}
bool SelectLevelScene::init(){
    
    if(!CCScene::init()){
        return false;
    }
    
    CCSprite* bg = CCSprite::create(Images::game::game_bg_jpg);
	addChild(bg, -1);
	bg->setAnchorPoint(ccp(0, 0));
    
	CCMenu* menu = CCMenu::create();
	addChild(menu, 1);
	menu->setAnchorPoint(ccp(0, 0));
	menu->setPosition(ccp(0, 0));
    
	CCMenuItem* backItem = UIUtil::getSingleImageBtn(
                                                     Images::common::back);
	menu->addChild(backItem);
	backItem->setTarget(this, menu_selector(SelectLevelScene::onClickBtn));
	backItem->setTag(-1);
	backItem->setAnchorPoint(ccp(1, 0));
    LayoutUtil::layoutTo(backItem, 0, 1, bg, 0, 1, 4, -4);
    
    _stageImg = CCSprite::create(Images::selectLevel::level1);
    _stageClickedImg = CCSprite::create(Images::selectLevel::level1);
    _stageClickedImgMask = CCSprite::create(Images::selectLevel::level1);
    _stageClickedImgMask->setColor(ccBLACK);
    _stageClickedImgMask->setOpacity(80);
    _stageClickedImg->addChild(_stageClickedImgMask, 1);
    LayoutUtil::layoutToParentCenter(_stageClickedImgMask, _stageClickedImg);
    
    CCMenuItem* stageItem = CCMenuItemSprite::create(_stageImg, _stageClickedImg);
    stageItem->setTarget(this, menu_selector(SelectLevelScene::onClickBtn));
    stageItem->setScale(1.3);
    stageItem->setTag(1);
    menu->addChild(stageItem);
    LayoutUtil::layoutToParentCenter(stageItem, this);
    
    CCMenuItem* leftArrow = UIUtil::getSingleImageBtn(Images::selectLevel::icon_arrow);
    leftArrow->setTarget(this, menu_selector(SelectLevelScene::prev));
    menu->addChild(leftArrow);
    LayoutUtil::layoutTo(leftArrow, 1, 0.5, stageItem, 0, 0.5, -18);
    
    CCSprite* leftArrowBg = CCSprite::create(Images::selectLevel::icon_arrow);
    leftArrowBg->setScale(1.1);
    leftArrowBg->setColor(ccBLACK);
    addChild(leftArrowBg, 0);
    LayoutUtil::layoutToCenter(leftArrowBg, leftArrow);
    
    
    CCMenuItem* rightArrow = UIUtil::getSingleImageBtn(Images::selectLevel::icon_arrow);
    rightArrow->setTarget(this, menu_selector(SelectLevelScene::next));
    menu->addChild(rightArrow);
    rightArrow->setScaleX(-1);
    LayoutUtil::layoutTo(rightArrow, 0, 0.5, stageItem, 1, 0.5, 18);
    
    CCSprite* rightArrowBg = CCSprite::create(Images::selectLevel::icon_arrow);
    rightArrowBg->setScaleX(-1.1);
    rightArrowBg->setScaleY(1.1);
    rightArrowBg->setColor(ccBLACK);
    addChild(rightArrowBg, 0);
    LayoutUtil::layoutToCenter(rightArrowBg, rightArrow);
    
    _stageIndexText = CCLabelTTF::create("01/11", "arial-bold", 30);
    _stageIndexText->setColor(ccBLACK);
    addChild(_stageIndexText, 1);
    LayoutUtil::layoutTo(_stageIndexText, 0.5, 0, stageItem, 0.5, 1, 0, -20);
    
    CCLabelTTF* title = CCLabelTTF::create("选择难度", "arial-bold", 38);
    title->setColor(ccBLACK);
    addChild(title, 1);
    LayoutUtil::layoutTo(title, 0.5, 0, _stageIndexText, 0.5, 1, 0, 20);
    
    MusicBtn* musicBtn = MusicBtn::create();
    addChild(musicBtn, 1);
	LayoutUtil::layoutTo(musicBtn, 0, 0, bg, 0, 0, 5, 5);
    
    _curLevel = 0;
    
    AdUtil::showAd();
    
    return true;
}
bool SelectStageScene::init(int level){
    
    if(!CCScene::init()){
        return false;
    }
    
    _selectLevel = level;
    
    CCSprite* bg = CCSprite::create(Images::game::game_bg_jpg);
	addChild(bg, -1);
	bg->setAnchorPoint(ccp(0, 0));
    
	CCMenu* menu = CCMenu::create();
	addChild(menu, 1);
	menu->setAnchorPoint(ccp(0, 0));
	menu->setPosition(ccp(0, 0));
    
	CCMenuItem* backItem = UIUtil::getSingleImageBtn(
                                                     Images::common::back);
	menu->addChild(backItem);
	backItem->setTarget(this, menu_selector(SelectStageScene::onClickBtn));
	backItem->setTag(-1);
	backItem->setAnchorPoint(ccp(1, 0));
    LayoutUtil::layoutTo(backItem, 0, 1, bg, 0, 1, 4, -4);
    
    CCLabelTTF* title = CCLabelTTF::create("选择关卡", "arial-bold", 38);
    title->setColor(ccBLACK);
    addChild(title, 1);
    LayoutUtil::layoutTo(title, 0.5, 0, bg, 0.5, 1, 0, -110);
    
    CCLabelTTF* subTitleText = CCLabelTTF::create("难度:01/11", "arial-bold", 30);
    subTitleText->setColor(ccBLACK);
    addChild(subTitleText, 1);
    LayoutUtil::layoutTo(subTitleText, 0.5, 1, title, 0.5, 0, 0, -20);
    
    CCSize midSize = CCSize(400, 400);
    
    _midArea = CCNode::create();
    _midArea->setContentSize(midSize);
    addChild(_midArea, 1);
    LayoutUtil::layoutToCenter(_midArea, bg, 0, -30);

    
    for (int i = 0; i < 16; i++) {
        
        int row = i / 4;
        int col = i % 4;
        
        _grids[i] = UIUtil::getSingleImageBtn(Images::selectLevel::unlock);
        _grids[i]->setTarget(this, menu_selector(SelectStageScene::onClickBtn));
        menu->addChild(_grids[i]);
        LayoutUtil::layoutTo(_grids[i], 0.5, 0.5, _midArea, 0.5, 1, (col - 1.5f) * (midSize.width * 0.25f), (-row - 0.5) * (midSize.height * 0.25f));
        
        _gridTexts[i] = CCLabelTTF::create("1", "arial", 32);
        _gridTexts[i]->setColor(ccBLACK);
        addChild(_gridTexts[i], 9);
        LayoutUtil::layoutToCenter(_gridTexts[i], _grids[i]);
        
        _gridLocks[i] = UIUtil::getSingleImageBtn(Images::selectLevel::lock);
        menu->addChild(_gridLocks[i]);
        LayoutUtil::layoutToCenter(_gridLocks[i], _grids[i]);
        
        _grids[i]->setVisible(false);
    }
    
    CCMenuItem* leftArrow = UIUtil::getSingleImageBtn(Images::selectLevel::icon_arrow);
    leftArrow->setTarget(this, menu_selector(SelectStageScene::prev));
    menu->addChild(leftArrow);
    LayoutUtil::layoutTo(leftArrow, 1, 0.5, _midArea, 0, 0.5, 0);
    
    CCSprite* leftArrowBg = CCSprite::create(Images::selectLevel::icon_arrow);
    leftArrowBg->setScale(1.1);
    leftArrowBg->setColor(ccBLACK);
    addChild(leftArrowBg, 0);
    LayoutUtil::layoutToCenter(leftArrowBg, leftArrow);
    
    
    CCMenuItem* rightArrow = UIUtil::getSingleImageBtn(Images::selectLevel::icon_arrow);
    rightArrow->setTarget(this, menu_selector(SelectStageScene::next));
    menu->addChild(rightArrow);
    rightArrow->setScaleX(-1);
    LayoutUtil::layoutTo(rightArrow, 0, 0.5, _midArea, 1, 0.5, 0);
    
    CCSprite* rightArrowBg = CCSprite::create(Images::selectLevel::icon_arrow);
    rightArrowBg->setScaleX(-1.1);
    rightArrowBg->setScaleY(1.1);
    rightArrowBg->setColor(ccBLACK);
    addChild(rightArrowBg, 0);
    LayoutUtil::layoutToCenter(rightArrowBg, rightArrow);
    
    cocos2d::extension::CCScale9Sprite* numBg = cocos2d::extension::CCScale9Sprite::create(CCRect(16, 16, 2, 2), Images::common::numBg);
    numBg->setContentSize(CCSize(110, numBg->getContentSize().height));
    addChild(numBg, 1);
    LayoutUtil::layoutTo(numBg, 1, 0, _midArea, 1, 1, 60, 5);
    
    char temp[32];
    sprintf(temp, "%d/%d", _curPage + 1, _totalPages);
    
    _indexText = CCLabelTTF::create("1/1", "arial", 26);
    _indexText->setAnchorPoint(ccp(1, 0));
    addChild(_indexText, 1);
    LayoutUtil::layoutTo(_indexText, 1, 0.5, numBg, 0.7, 0.5, 0, 0);
    
    sprintf(temp, "难度:%02d/11", _selectLevel);
    subTitleText->setString(temp);
    
    MusicBtn* musicBtn = MusicBtn::create();
    addChild(musicBtn, 1);
	LayoutUtil::layoutTo(musicBtn, 0, 0, bg, 0, 0, 5, 5);
    
    updateStage();
    
    AdUtil::showAd();
    
    return true;
}
bool
MCSkillLayer::init()
{
    if (MCBaseInfoLayer::init()) {
        CCSize winSize = CCDirectorGetWindowsSize();
        float contentScaleFactor = CC_CONTENT_SCALE_FACTOR();
        CCMenu *menu;
        CCLabelTTF *label;
        CCMenuItem *menuItem;
        float fontSize = 24.0f / contentScaleFactor;
        float offsetXLeft = 200 / contentScaleFactor;
        
        content_.push_back(JsonBox::Value("name"));
        
        content_.push_back(JsonBox::Value("releaseTime"));
        content_.push_back(JsonBox::Value("activeTime"));
        content_.push_back(JsonBox::Value("coldTime"));
        
        content_.push_back(JsonBox::Value("consume"));
        content_.push_back(JsonBox::Value("requiredProficiency"));
        
        content_.push_back(JsonBox::Value("revise"));
        content_.push_back(JsonBox::Value("count"));
        
        content_.push_back(JsonBox::Value("effect"));
        
        selectedSkill_ = NULL;
        
        /* 技能种类 */
        menu = CCMenu::create();
        
        label = CCLabelTTF::create("剑", "", fontSize);
        menuItem = CCMenuItemLabel::create(label,
                                           this,
                                           menu_selector(MCSkillLayer::selectSkillType));
        menuItem->setTag(MCSwordSkill);
        menu->addChild(menuItem);
        
        label = CCLabelTTF::create("锤", "", fontSize);
        menuItem = CCMenuItemLabel::create(label,
                                           this,
                                           menu_selector(MCSkillLayer::selectSkillType));
        menuItem->setTag(MCHammerSkill);
        menu->addChild(menuItem);
        
        label = CCLabelTTF::create("斧", "", fontSize);
        menuItem = CCMenuItemLabel::create(label,
                                           this,
                                           menu_selector(MCSkillLayer::selectSkillType));
        menuItem->setTag(MCAxeSkill);
        menu->addChild(menuItem);
        
        label = CCLabelTTF::create("枪", "", fontSize);
        menuItem = CCMenuItemLabel::create(label,
                                           this,
                                           menu_selector(MCSkillLayer::selectSkillType));
        menuItem->setTag(MCSpearSkill);
        menu->addChild(menuItem);
        
        label = CCLabelTTF::create("弓", "", fontSize);
        menuItem = CCMenuItemLabel::create(label,
                                           this,
                                           menu_selector(MCSkillLayer::selectSkillType));
        menuItem->setTag(MCBowSkill);
        menu->addChild(menuItem);
        
        menu->alignItemsVerticallyWithPadding(4);
        addChild(menu);
        
        menu->setAnchorPoint(ccp(0, 0.5));
        menu->setPosition(ccp(offsetXLeft, winSize.height / 2));
        
        /* 技能表格 */
        tableViewSize_ = CCSizeMake(180 / contentScaleFactor,
                                    320 / contentScaleFactor);
        tableView_ = CCTableView::create(this, tableViewSize_);
        addChild(tableView_);
        tableView_->setDirection(kCCScrollViewDirectionVertical);
        tableView_->setDelegate(this);
        tableView_->setVerticalFillOrder(kCCTableViewFillTopDown);
        
        tableView_->setAnchorPoint(ccp(0, 0.5));
        tableView_->setPosition(ccp(menu->getPositionX() + menuItem->getContentSize().width,
                                    (winSize.height - tableViewSize_.height) / 2));
        
        contentTableView_ = CCTableView::create(this, tableViewSize_);
        addChild(contentTableView_);
        contentTableView_->setDirection(kCCScrollViewDirectionVertical);
        contentTableView_->setDelegate(this);
        contentTableView_->setVerticalFillOrder(kCCTableViewFillTopDown);
        
        contentTableView_->setAnchorPoint(ccp(0, 0.5));
        contentTableView_->setPosition(ccp(tableView_->getPositionX() + tableViewSize_.width,
                                           (winSize.height - tableViewSize_.height) / 2));
        contentTableView_->setVisible(false);
        
        icon_ = CCSprite::create();
        addChild(icon_);
        icon_->setAnchorPoint(ccp(1, 1));
        icon_->setPosition(ccp(winSize.width - 64.0f / contentScaleFactor,
                               winSize.height - 64.0f / contentScaleFactor));
        
        proficiency_ = CCLabelTTF::create("熟练度", "", fontSize);
        addChild(proficiency_);
        
        proficiency_->setAnchorPoint(ccp(1, 0));
        proficiency_->setPosition(ccp(winSize.width - 64.0f / contentScaleFactor,
                                      64.0f / contentScaleFactor));
        proficiency_->setVisible(false);
        
        selectedCell_ = NULL;
        selectedSkill_ = NULL;
        
        return true;
    }
    
    return false;
}
Esempio n. 7
0
bool CSLayerPopupMsg::init(POPUPMSG_ENUM popEnum, string strTitle, string strMessage)
{
	m_strMessage = strMessage;
	m_strTitle = strTitle;
	m_popEnum = popEnum;

	CCSize size = CCDirector::sharedDirector()->getWinSize();
	
	//添加背景
	CCSprite *pSprite = CCSprite::spriteWithSpriteFrameName(m_strBackground.c_str());
	pSprite->setPosition(ccp(size.width/2, size.height/2));
	addChild(pSprite);

	//标题栏
	CCLabelTTF *pLabel = CCLabelTTF::labelWithString(m_strTitle.c_str(), "DFPHaiBaoW12-GB", 28);
	pLabel->setPosition(ccp(size.width*2/5, size.height*7/10));
	pLabel->setColor(ccc3(200,200,255));
	pSprite->addChild(pLabel);

	//信息
	pLabel = CCLabelTTF::labelWithString(m_strMessage.c_str(), "DFPHaiBaoW12-GB", 28);
	pLabel->setPosition(ccp(size.width/2, size.height/2));
	pLabel->setColor(ccc3(155,155,255));
	pSprite->addChild(pLabel);

	//添加按钮
	CCMenu *pMenu = CCMenu::menuWithItems(NULL);
	pMenu->setPosition(CCPointZero);

	CCMenuItem *pItem;
	if (m_popEnum == POPUP_YESNOCANCEL)
	{
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0023.png", "Images/UI/common/0023.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_YES);
		pItem->setPosition(ccp(size.width*3/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("确认", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);
		
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0022.png", "Images/UI/common/0022.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_NO);
		pItem->setPosition(ccp(size.width*5/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("取消", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);

		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0022.png", "Images/UI/common/0022.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_CANCEL);
		pItem->setPosition(ccp(size.width*7/10, size.height*2/5));
		pMenu->addChild(pItem, 0);
		pLabel = CCLabelTTF::labelWithString("关闭", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);
	}
	else if (m_popEnum == POPUP_YESNO)
	{
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0023.png", "Images/UI/common/0023.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_YES);
		pItem->setPosition(ccp(size.width*3/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("确认", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);

		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0022.png", "Images/UI/common/0022.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_NO);
		pItem->setPosition(ccp(size.width*5/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("取消", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);

	}
	else if (m_popEnum == POPUP_YES)
	{
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0023.png", "Images/UI/common/0023.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_YES);
		pItem->setPosition(ccp(size.width*3/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("确认", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);
	}
	
	addChild(pMenu);

	return true;
}
bool HelloWorld::init()
{
    bool bRet = false;
    do 
    {
        CCMenuItemImage *pCloseItem = CCMenuItemImage::itemFromNormalImage(
            "CloseNormal.png",
            "CloseSelected.png",
            this,
            menu_selector(HelloWorld::menuCloseCallback));
        CC_BREAK_IF(! pCloseItem);
        pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20));
        CCMenu* pMenu = CCMenu::menuWithItems(pCloseItem, NULL);
        pMenu->setPosition(CCPointZero);
        CC_BREAK_IF(! pMenu);
        this->addChild(pMenu, 1);
		
		//解析tmx地图
		map = CCTMXTiledMap::tiledMapWithTMXFile("0.tmx");
		addChild(map);

		CCArray * pChildrenArray = map->getChildren();
		CCSpriteBatchNode* child = NULL;
		CCObject* pObject = NULL;
		//遍历Tilemap的所有图层
		CCARRAY_FOREACH(pChildrenArray, pObject)
		{
			child = (CCSpriteBatchNode*)pObject;
			if(!child)
				break;
			//给图层的纹理开启抗锯齿
			child->getTexture()->setAntiAliasTexParameters();
		}

		walkAnimation = new CCAnimation*[4];
		walkAnimation[kDown] = createAnimationByDirection(kDown);
		walkAnimation[kRight] = createAnimationByDirection(kRight);
		walkAnimation[kLeft] = createAnimationByDirection(kLeft);
		walkAnimation[kUp] = createAnimationByDirection(kUp);

		//用frame0作为勇士的静态图
		heroSprite = CCSprite::spriteWithSpriteFrame(walkAnimation[kDown]->getFrames()->getObjectAtIndex(0));
		//heroSprite->setPosition(ccp(48, 48));
		heroSprite->setAnchorPoint(CCPointZero);
		heroSprite->setPosition(positionForTileCoord(ccp(1, 11)));
		addChild(heroSprite);
		isHeroWalking = false;

		CCMenuItem *down = CCMenuItemFont::itemFromString("down", this, menu_selector(HelloWorld::menuCallBackMove));
		CCMenuItem *left = CCMenuItemFont::itemFromString("left", this, menu_selector(HelloWorld::menuCallBackMove) );
		CCMenuItem *right = CCMenuItemFont::itemFromString("right", this, menu_selector(HelloWorld::menuCallBackMove) );
		CCMenuItem *up = CCMenuItemFont::itemFromString("up", this, menu_selector(HelloWorld::menuCallBackMove) );
		CCMenu* menu = CCMenu::menuWithItems(down, left, right, up, NULL);
		//为了方便查找,给每个menuItem设置tag
		down->setTag(kDown);
		left->setTag(kLeft);
		right->setTag(kRight);
		up->setTag(kUp);
		//菜单项按间距50水平排列
		menu->alignItemsHorizontallyWithPadding(50);
		addChild(menu);

		schedule(schedule_selector(HelloWorld::update));

        bRet = true;
    } while (0);
Esempio n. 9
0
// on "init" you need to initialize your instance
bool TableBar::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    //每个项目都要创建的东西
    _menu = CCMenu::create(NULL);
    _menu->setPosition(CCPointZero);
    this->addChild(_menu, zNum+1);
    
    pTabBar = CCSprite::create("pTabBar.png");
    pTabBar->setPosition(ccp(1024.0,49.0));    
    this->addChild(pTabBar,zNum);

    
    m_highlightSp = CCSprite::create("pTabBarSelectedHighlight.png");


    string plistStr = TableBar::classPlistName;
    plistStr += ".plist";
    plistDic = CCDictionary::createWithContentsOfFile(plistStr.c_str());
    
    for (int i = 0; i<itemVec.size(); i++)
    {
        const char * picNameStr =  (itemVec[i]+".png").c_str();
        CCSprite * aSprite = CCSprite::create(picNameStr);
        
        if (i == TableBar::mainItemNum)
        {
            mainitemSprite = aSprite;
        }
        
        const char * positionName = itemVec[i].c_str();
        aSprite->setPosition(ScriptParser::getPositionFromPlist(plistDic,positionName));        
        this->addChild(aSprite,zNum);
        
        CCMenuItem * aItem = CCMenuItem::create(this, menu_selector(TableBar::menuselect));
        aItem->setPosition(aSprite->getPosition());
        aItem->setContentSize(m_highlightSp->getContentSize());
        _menu ->addChild(aItem,zNum);
        aItem->setTag(i);
        
        const char * itemTitleStr = itemTitleVec[i].c_str();
        CCLabelTTF* pLabel = CCLabelTTF::create(itemTitleStr,fontName_macro,fontSize_macro);
        if (i == TableBar::mainItemNum)
        {
            pLabel->setColor(White_macro);
        }
        else
        {
            pLabel->setColor(gray_macro);
        }

        const char * labelNameStr =  (itemVec[i]+"Label").c_str();
        pLabel->setPosition(ScriptParser::getPositionFromPlist(plistDic,labelNameStr));
        this->addChild(pLabel, zNum);
    }

    m_highlightSp->setPosition(ccp(mainitemSprite->getPosition().x,pTabBar->getPosition().y+pTabBar->getContentSize().height/2-50));
    this->addChild(m_highlightSp,zNum);
    m_highlightSp->setColor(ccc3(200, 200, 200));
    
    return true;
}