1.消息通知中心(CCNotificationCenter)(观察者模式)
1 作用:每个Layer类之间通信 2 投递消息:CCNotificationCenter::sharedNotificationCenter()->postNotification(char *消息标识 ,CCObject* 投递参数); 3 接收消息:CCNotificationCenter::sharedNotificationCenter()->addObserver(CCObject* 目标类(this),callfuncO_selector(回调函数),char *消息标识,NULL); 4 回调函数:void 函数名称(CCObject *obj); 5 移除消息:CCNotificationCenter::sharedNotificationCenter()->removeObserver(CCObject* 目标类(this), char* 消息标识);
2.自定义图片文字:
1 CCLabelAtlas
3.添加资源文件搜索路径:
1 std::vector<std::string> vecResPath; 2 vecResPath.push_back("路径"); 3 vecResPath.push_back("路径"); 4 CCFileUtils::sharedFileUtils()->setSearchPaths(vecResPath);
4. 用户数据中心,将会把数据写到XML中,下一次启动的时候还可以继续读取
1 CCUserDefault::sharedUserDefault()->setBoolForKey("isGameStart", true); 2 设置完成之后,一定要调用flush(),保证写到文件中
5.获取Note的原始尺寸:
1 CCNote()->getContentSize()
6.延迟动作:
1 CCActionInterval
7.样条曲线动作:
1 CCCardinalSplineBy::create(float duration, cocos2d::CCPointArray *points, float tension); 2 float duration // 时间间隔 3 CCPointArray points // 控制点列表 4 float tension // 松紧程度。tension==1时,样条线是分段直线。tension < 1向外松弛弯曲,tension > 1向内缩紧弯曲。
8.使动作速度变化
1 CCEaseIn - 由慢至快(速度线性变化),在开始时慢 2 CCEaseOut - 由快至慢,后来慢 3 CCEaseInOut - 由慢至快再由快至慢,开始时和后来慢 4 CCEaseSineIn - 由慢至快(速度正弦变化) 5 CCEaseSineOut - 由快至慢 6 CCEaseSineInOut - 由慢至快再由快至慢 7 CCEaseExponentialIn - 由慢至极快(速度指数级变化) 8 CCEaseExponentialOut - 由极快至慢 9 CCEaseExponentialInOut - 由慢至极快再由极快至慢
9.点9图
1 CCScale9Sprite
10.判断一个点是否在矩形中
1 CCRect.containsPoint(CCPoint)
11.播放声音
1 CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("文件路径");
12.触摸事件
1 ccTouchBegan 2 ccTouchMoved 3 ccTouchEnded
13.不要在OnEnter()中调用addChlid()方法。
14. init() 和 OnEnter() 的区别:
其被调用的顺序是先init(),后onEnter()。
init()在类的初始化时只会调用一次。
onEnter()在该类被载入场景的时候被调用,可能会发生多次。
例如:CCLayer* cclayer = new MyLayer(); 这种情况下,只会触发onEnter。
CCLayer* cclayer = MyLayer::create();这样情况下,既会触发init()方法,也会触发onEnter()方法。
时间: 2025-01-02 13:53:56