14 Nov 2012
// 每隔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();
14 Nov 2012
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)
{
// 加载完了以后显示主界面
}
}
14 Nov 2012
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)
{
}
14 Nov 2012
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); // 是否压缩插值
14 Nov 2012
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("文本");