cocos2d-x-extensions
水果忍者-by Cocos2d-X
刀光效果
AngryBird Space失重特效
有没有一个CCTab的控件?
https://github.com/simdm/cocos2d-x-extensions-1/tree/master/extensions/CCTabView
多语言解决方案,
1.解析XML
http://codingnow.cn/cocos2d-x/1038.html
2.解析KEY = VALUE 键值对
https://github.com/sue602/CCLocalizedStringDemo
个人倾向于第二种方式。
CCMenu
// 创建
// add menu items for tests CCMenu *m_pItemMenu = CCMenu::create(); for (int i = 0; i < MENU_COUNT; ++i) { CCLabelTTF* label = CCLabelTTF::create(TITLES[i].c_str(), "Arial", 24); CCMenuItemLabel* pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(TestMenuScene::menuCallback)); m_pItemMenu->addChild(pMenuItem, i + 10000); pMenuItem->setPosition( ccp( VisibleRect::center().x, (VisibleRect::top().y - (i + 1) * LINE_SPACE) )); } m_pItemMenu->setContentSize(CCSizeMake(VisibleRect::getVisibleRect().size.width, (MENU_COUNT + 1) * (LINE_SPACE))); m_pItemMenu->setPosition(CCPointMake(0,0)); addChild(m_pItemMenu);
// 回调
void TestMenuScene::menuCallback(CCObject * pSender) { CCLOG("menuCallback"); // get the userdata, it's the index of the menu item clicked CCMenuItem* pMenuItem = (CCMenuItem *)(pSender); int nIdx = pMenuItem->getZOrder() - 10000; // create the test scene and run it CCScene* pScene = CreateScene(nIdx); CCDirector *pDirector = CCDirector::sharedDirector(); if (pScene) { pDirector->replaceScene(pScene); } }
SlidingMenu
滑动菜单
CCTableView
// 创建
http://space.itpub.net/14466241/viewspace-751173
下一个版本新加了选中效果
Q:
1.如何实现多行多列
2.cell间间隙很大的
3.
多行多列:
http://www.cocos2d-x.org/boards/18/topics/15777
CCControlButton
// 创建
CCControlButton *btn = CCControlButton::create(titles[i], "Helvetica", 30); btn->setBackgroundSpriteFrameForState(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("anniu5.png"), CCControlStateNormal); btn->setBackgroundSpriteFrameForState(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("anniu5_press.png"), CCControlStateHighlighted); btn->setPosition(ccp(140, 647 + i * -71)); btn->setPreferredSize(CCSizeMake(196, 60)); btn->setTitleColorForState(ccGRAY, CCControlStateNormal); btn->setTitleColorForState(ccGREEN, CCControlStateHighlighted); btn->addTargetWithActionForControlEvents(this, cccontrol_selector(ShopScene::touchUpInsideAction),CCControlEventTouchUpInside); btn->setTag(i); addChild(btn);
// 回调
void ShopScene::touchUpInsideAction(CCObject* pSender, CCControlEvent event) { int tag = ((CCNode *)pSender)->getTag(); CCLOG("touchUpInsideAction:%d", tag); }