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); }
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); }
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; }
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); // //============================================================= // //============================================================= } }