Cocos2d-x之Schedule

// 每隔0.5秒执行一次callback函数
schedule(schedule_selector(Test::callback), 0.5f);

Test::callback(ccTime dt)
{
    
}
unschedule(schedule_selector(Test::callback));
CCScheduler::sharedScheduler()->pauseTarget(this);          // 暂停当前对象所有的定时器
                              ->resumeTarget(this);         // 恢复当前对象所有的定时器
                              ->unscheduleAllSelectors();   // 取消所有的定时器,CCNode的会取消当前节点的定时器
scheduleUpdate();

Test::update(ccTime dt)
{
    // 将会执行
}

unscheduleUpdate();
unscheduleUpdate();

Cocos2d-x之CCTextureCache

int picnums = 30;   // 总张数
int picnum = 0;     // 已经加载张数

CCTextureCache::sharedTextureCache()->addImageAsync("图片地址", this, callfuncO_selector(Test::loadingCallBack));

void Test::loadingCallBack(CCObject * obj)
{
    picnum++;  // 加载完一张图片+1

    int s = (((float)picnum / picnums) * 100.0f); // 计算进度条百分比

    if (picnums == picnum)
    {
        // 加载完了以后显示主界面
    }
}

Cocos2d-x之CCMenu

CCSprite * normal = CCSprite::spriteWithFile("默认状态的图片");
CCSprite * selected = CCSprite::spriteWithFile("选中状态的图片");
CCSprite * disabled = CCSprite::spriteWithFile("禁用状态的图片");
CCMenuItemSprite * item = CCMenuItemSprite::itemFromNormalSprite(normal, selected, disabled, this, menu_selector(Test::callback));
                                         // itemFromNormalSprite(normal, selected, disabled);
                                         // itemFromNormalSprite(normal, selected, this, menu_selector(Test::callback));
                                         // itemFromNormalSprite(normal, selected);
item->setIsEnabled(false);     // 是否可用,默认true
CCMenuItemImage * item = CCMenuItemImage::itemFromNormalImage("默认状态", "选中状态", this, menu_selector(Test::callback));
                                       // itemFromNormalImage("默认状态", "选中状态");
                                       // itemFromNormalImage("默认", "选中", "禁用", this, menu_selector(Test::callback));
                                       // itemFromNormalImage("默认", "选中", "禁用");
// 支持CCLabelAtlas、CCLabelBMFont
CCLabelAtlas * label = CCLabelAtlas::labelWithString("123", "nums.png", 24, 30, '');
CCMenuItemLabel * item = CCMenuItemLabel::itemWithLabel(label, this, menu_selector(Test::callback));
                                       // itemWithLabel(label);
item->setDisabledColor(ccc3(255, 255, 255));
item->setColor(ccc3(0, 0, 0));
CCMenuItemFont * item = CCMenuItemFont::itemFromString("文本", this, menu_selector(Test::callback));
                                     // itemFromString("文本");
item->setFontSizeObj(24);
item->setFontName("Monaco");

// 全局字体与大小
CCMenuItemFont::setFontSize("全局字体大小");
CCMenuItemFont::setFontName("全局字体名称");
CCMenuItemToggle * item = CCMenuItemToggle::itemWithTarget(this,
        menu_selector(Test::callback),
        CCMenuItemFont::itemFromString("On"),
        CCMenuItemFont::itemFromString("Off"),
        NULL);
item->getSubItems()->addObject(CCMenuItemFont::itemFromString("Other"));
item->setSelectedIndex(2);
CCMenu * menu = CCMenu::menuWithItems(item1, item2, NULL);
menu->alignItemsHorizontally();         // 垂直对齐
menu->alignItemsVertically();           // 水平对象
menu->alignItemsInColumns(2, 1, NULL);  // 两行,两列,一列
Test::callback(CCObject * sender)
{

}

Cocos2d-x之CCLayer

class HelloLayer: CCLayer
{
    public:
        HelloLayer()
        {
            setIsKeypadEnabled(true);
        }

        virtual ~HelloLayer();

        virtual void keyBackClicked();  // 重写手机返回键点击
        virtual void keyMenuClicked();  // 手机菜单键点击
}
CCLayerColor * layer = CCLayerColor::layerWithColorWidthHeight(ccc4f(红, 绿, 蓝, 透明度), 宽, 高);
layer->setPosition(ccp(0, 0));
layer->setContentSize(CCSizeMake(100, 100));
...
ccBlendFunc bf = {CC_BLEND_SRC, CC_BLEND_DST};
layer->setBlendFunc(bf);    // 与底下图层进行混合,颜色会产生变化。
CCLayerGradient * layer = CCLayerGradient::layerWithColor(ccc4f(), ccc4f(), ccp(0, 0));
layer->setIsCompressedInterpolation(true/false);    // 是否压缩插值

Cocos2d-x之CCLabel

CCLabelAtlas * label = CCLabelAtlas::labelWithString("0", "数字图片", 24, 30, ' ');
label->setString("124");

BMFont生成工具:http://www.n4te.com/hiero/hiero.jnlp

CCLabelBMFont * label = CCLabelBMFont::labelWithString("http://blog.linguofeng.com", "生成的fnt文件");
                     // CCLabelBMFont::labelWithString("abc", "fnt", CCTextAlignment[Center, Left, Right], width);
label->setString("hello");              // 设置显示的文本,显示文本时加"\n"
label->setColor(ccc3(125, 15, 100));    // 设置显示的颜色

CCSprite * c1 = (CCSprite*)label->getChildByTag(1); // 得到的c1是"e"的一个精灵,可以做任何事情,比如动画效果

三、CCLabelTTF 显示ttf字体

                                              // 文本      大小         方向              字体名称             字体大小
CCLabelTTF * label = CCLabelTTF::labelWithString("hello", CCSizeMake, CCTextAlignment, "Monaco_Linux.TTF", 24);
label->setString("文本");