cocos2d-x-extensions
https://github.com/jandujar/cocos2d-x-extensions
https://github.com/dualface/cocos2d-x-extensions
https://github.com/darkfall/cocos2dx-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);
}