Beispiel #1
0
void BWHomeLayer::initUI()
{
    Size cntentSize = getContentSize();
    CCButton*  pBtnCloseGuide = CCButton::create("level",COMMON_FONT,50);
    pBtnCloseGuide->setPosition(Point(cntentSize.width*0.5,cntentSize.height*0.5));
    pBtnCloseGuide->addTargetWithActionForControlEvents(this, cccontrol_selector(BWHomeLayer::clickLevel), Control::EventType::TOUCH_UP_INSIDE);
    addChild(pBtnCloseGuide);
    
    CCButton*  pBtnEdit = CCButton::create("edit",COMMON_FONT,50);
    pBtnEdit->setPosition(Point(cntentSize.width*0.5,cntentSize.height*0.2));
    pBtnEdit->addTargetWithActionForControlEvents(this, cccontrol_selector(BWHomeLayer::clickEdit), Control::EventType::TOUCH_UP_INSIDE);
    addChild(pBtnEdit);
    
}
Beispiel #2
0
void BWCombatLayer::initUILayer()
{
    Size contentSize = getContentSize();

    CCButton*  pBtnBack = CCButton::create("back",COMMON_FONT,50);
    pBtnBack->setPosition(Point(50,contentSize.height-50));
    pBtnBack->addTargetWithActionForControlEvents(this, cccontrol_selector(BWCombatLayer::clickBack), Control::EventType::TOUCH_UP_INSIDE);
    _pBgLayerUI->addChild(pBtnBack);

}
Beispiel #3
0
bool CCButtonBasicTest::init()
{
	CCButtonTestSceneBase::init();
	setTitle("CCButtonBasicTest");
	setDescription("button by create");

	CCButton* pButton = CCButton::create("btn1_1.png", "btn1_2.png", "btn1_3.png");
	pButton->setPosition(ccp(480, 320));
	m_pLayout->addChild(pButton);

	return true;
}
CCTableGridCell* CCTableGridBackPackTest::tableviewDataSource(CCTableGrid* pTable, CCTableGridCell* pCell, unsigned int idx)
{
	CCButton* pIconButton = NULL;

	if(!pCell)
	{
		pCell = new CCTableGridCell();
		pCell->autorelease();

		CC9Sprite* pBg = CC9Sprite::create("sprite9_btn1.png");
		pBg->setContentSize(CCSize(70, 70));
		pBg->setPosition(ccp(320 / 4 / 2, 390 / 5 / 2));
		pCell->addChild(pBg);

		pIconButton = CCButton::create("icon.png");
		pIconButton->setLongClickSelector(this, longclick_selector(CCTableGridBackPackTest::onItemLongClick));
		pIconButton->getTextTTF()->setFontSize(25);
		pIconButton->setPosition(ccp(320 / 4 / 2, 390 / 5 / 2));
		pIconButton->setTextOffset(ccp(-15, -15));
		pIconButton->setTag(1);
		pCell->addChild(pIconButton);
	}
	else
	{
		pIconButton = (CCButton*) pCell->getChildByTag(1);
	}

	if( idx != CC_INVALID_INDEX )
	{
		pIconButton->setVisible(true);

		pIconButton->getTextTTF()->setString(m_vData[idx].c_str());
		pIconButton->setUserTag(idx);
	}
	else
	{
		pIconButton->setVisible(false);
	}

	return pCell;
}
Beispiel #5
0
bool CCButton9SpriteTest::init()
{
	CCButtonTestSceneBase::init();
	setTitle("CCButtonAttributeTest");
	setDescription("9PatchSprite by create");

	CCButton* pButton = CCButton::createWith9Sprite(CCSize(196, 68),"sprite9_btn1.png", "sprite9_btn2.png");
	pButton->getTextTTF()->initWithString("one", "", 30.0f);
	pButton->setPosition(ccp(480, 370));
	m_pLayout->addChild(pButton);

	CCButton* pButton2 = CCButton::create();
	pButton2->setContentSize(CCSize(196, 68));
	pButton2->set9SpriteEnabled(true);
	pButton2->setNormalImage("sprite9_btn1.png");
	pButton2->setSelectedImage("sprite9_btn2.png");
	pButton2->getTextTTF()->initWithString("two", "", 30.0f);
	pButton2->setPosition(ccp(480, 270));
	m_pLayout->addChild(pButton2);

	return true;
}
CCTableGridCell* CCTableGridBasicTest::tableviewDataSource(CCTableGrid* pTable, CCTableGridCell* pCell, unsigned int idx)
{
	CCButton* pButton = NULL;

	if(!pCell)
	{
		pCell = new CCTableGridCell();
		pCell->autorelease();

		pButton = CCButton::createWith9Sprite(CCSizeMake(70, 70), "sprite9_btn1.png", "sprite9_btn2.png");
		pButton->setPosition(ccp(320 / 4 / 2, 390 / 5 / 2));
		pButton->getTextTTF()->setFontSize(25.0f);
		pButton->setTag(1);
		pCell->addChild(pButton);
	}
	else
	{
		pButton = (CCButton*) pCell->getChildByTag(1);
	}

	if( idx != CC_INVALID_INDEX )
	{
		pButton->setVisible(true);

		char buff[64];
		sprintf(buff, "%u", idx);
		pButton->getTextTTF()->setString(buff);
		pButton->setUserTag(idx);
	}
	else
	{
		pButton->setVisible(false);
	}

	return pCell;
}
//=============================================================
//=============================================================
void CC3DCircleListLayer::initDataCircle(float fEllipseA,float fEllipseB,CCSize itemSize,CCArray* pArray,bool bFlipY)
{
    if(!pArray)
        return;
    m_itemSize = itemSize;
    m_fEllipseA = fEllipseA;
    m_fEllipseB = fEllipseB;
    
    int     nAllItemCount = pArray->count();
    float   fCircleStepDegree = (2*M_PI)/nAllItemCount;
    
    float fMoveX = getContentSize().width*0.5;
    float fMoveY = getContentSize().height*0.5;
    
    m_pButtonArray->removeAllObjects();
    for(int i=0;i<nAllItemCount;i++)
    {
        float fCurDegree = fCircleStepDegree * (i+1);
        float fCircleX = m_fEllipseA * cosf(fCurDegree);
        float fCircleY = m_fEllipseB * sinf(fCurDegree);
        
        fCircleX += fMoveX;
        fCircleY += fMoveY;
        
        CCSprite* pSprite = (CCSprite*)pArray->objectAtIndex(i);
        
        CCScale9Sprite* pScaleSprite = CCScale9Sprite::createWithSpriteFrame(pSprite->displayFrame());
        CCButton* pButton = CCButton::create( pScaleSprite);
        pButton->setTag(i);
        pButton->setZoomOnTouchDown(false);
        
        CCPoint point = ccp(fCircleX,fCircleY);
        pButton->setPosition(point);
        
        CCString* pString = new CCString();
        pString->initWithFormat("%f",fCurDegree);
        pButton->setUserData(pString);
        pButton->addTargetWithActionForControlEvents(this, cccontrol_selector(CC3DCircleListLayer::clickButton), CCControlEventTouchUpInside);
        addChild(pButton);
        m_pButtonArray->addObject(pButton);
        
        if(bFlipY)
        {
            CCSize buttonSize = pButton->getContentSize();
            CCSprite* pFlipYSprite = CCSprite::createWithTexture(pSprite->getTexture());
            CCRect oldRect = pSprite->getTextureRect();
            pFlipYSprite->setFlipY(true);
            pFlipYSprite->setOpacity(255*0.5);
            pFlipYSprite->setAnchorPoint(ccp(0.5,1));
            pFlipYSprite->setPosition(ccp(buttonSize.width*0.5,0));
            pButton->addChild(pFlipYSprite);
        }
        
//        CCSize buttonSize = pButton->getContentSize();
//        char testChr[32];
//        sprintf(testChr, "%d",i);
//        CCLabelTTF* pTestLabel = CCLabelTTF::create(testChr, "Arial", 52);
//        pTestLabel->setColor(ccRED);
//        pTestLabel->setPosition(ccp(buttonSize.width*0.5,buttonSize.height*0.5));
//        pButton->addChild(pTestLabel);
        
    }
    refreshItemWithMoveDegree(0);
}
//=============================================================
//=============================================================
void CC3DCircleListLayer::refreshItemWithMoveDegree(float fMoveDegree)
{
    float fMoveX = getContentSize().width*0.5;
    float fMoveY = getContentSize().height*0.5;
    
    float fScaleMax = 1;
    float fScaleMin = 0.5;
    
    int zOrderMax = 1000;
    
    //    float fCameraDegreeMax = 45;
    //    float fCameraDegreeMin = 0;
    
    for(int i=0;i<m_pButtonArray->count();i++)
    {
        CCButton* pButton = (CCButton*)m_pButtonArray->objectAtIndex(i);
        CCString* pFOldDegree = (CCString*)pButton->getUserData();
        float fOldDegree  = pFOldDegree->floatValue();
        
        fOldDegree = fabsf(fOldDegree);
        float fCurDegree = fOldDegree + fMoveDegree;
        if(fCurDegree < 0)
        {
            fCurDegree = 2*M_PI - fabsf(fCurDegree);
        }
        int nCircleCount = (int)fCurDegree/(2*M_PI);
        fCurDegree = fCurDegree - nCircleCount*(2*M_PI);
        //=============================================================
        //=============================================================
        delete pFOldDegree;
        CCString* pString = new CCString();
        pString->initWithFormat("%f",fabs(fCurDegree));
        pButton->setUserData(pString);
        //=============================================================
        //=============================================================
        //
        //
        //
        //=============================================================
        //=============================================================
        float fCircleX = m_fEllipseA * cosf(fCurDegree);
        float fCircleY = m_fEllipseB * sinf(fCurDegree);
        fCircleX += fMoveX;
        fCircleY += fMoveY;
        CCPoint buttonPos = ccp(fCircleX,fCircleY);
        pButton->setPosition(buttonPos);
        //=============================================================
        //=============================================================
        //
        //
        //
        //=============================================================
        //=============================================================
        float fScaleDegree = fCurDegree - M_PI_2;
        float fScalePercent = (1-cosf(fScaleDegree))/2.0;
        float fScale = fScaleMin + (fScaleMax - fScaleMin)*fScalePercent;
        pButton->setScale(fScale);
        int nOrder = zOrderMax * fScalePercent + 1;
        pButton->setZOrder(nOrder);
        //=============================================================
        //=============================================================
        
        m_pSelectedButton =  getSelectedButton();
        if(m_pSelectedButton)
        {
            if(m_pDelegate)
            {
                int nIndex = m_pSelectedButton->getTag();
                m_pDelegate->onCC3DCircleListLayerSelectIndex(nIndex);
            }
        }
        
        //        //=============================================================
        //        //camera
        //        //=============================================================
        //        int flagMove = 1;
        //        if(buttonPos.x > getContentSize().width*0.5)
        //        {
        //            flagMove = 1;
        //        }
        //        else
        //        {
        //            flagMove = -1;
        //        }
        //        float fCameraDegree = fCameraDegreeMin + (fCameraDegreeMax - fCameraDegreeMin)*(1-fScalePercent);
        //        fCameraDegree *= -flagMove;
        //        float radians = (float)CC_DEGREES_TO_RADIANS(fCameraDegree);
        //        float fSin = sinf(radians) * CCCamera::getZEye();
        //        CCCamera* pCamera = pButton->getCamera();
        //        pCamera->setCenterXYZ(fSin, 0, 0);
        //        //=============================================================
        //        //=============================================================
    }
}