• Cocos2dX数据、动作、消息的基本操作


    添加类的create方法:
    CREATE_FUNC(ClassName) 使用这个宏可以为类添加一个create方法。
    创建类的对象时一律用Class::create()的形式。
    在CREATE_FUNC这个宏中定义的类初始化调用顺序为:构造函数、init。且将这个类对象设置为autorelease,这也就意味着,用create创建的对象无需手动delete。但是有时还是要在切换场景等操作时,保留这个对象。这就需要使用retain()函数,当然使用它的同时,你就需要为内存管理负责,要手动delete。

    数据绑定:
    CC_SYNTHESIZE_READONLY(varType, varName, funName) 使用这个宏可以自动创建get和set方法。

    整体框架结构:

     
    动作使用:
    动作是挂在人物(精灵)上的。使用动作三步走。1、找到相应精灵。2、编辑动作。3、精灵运行动作。
    动作类如下结构。动作分为瞬时动作(基类CCActionInstanse)和延时动作(基类CCActionInterval)。可以直接声明一个CCFiniteTimeAction指针用于操作,省的分辨具体是那个动作类型,虽然其实也挺好记的。
     
    通常精灵会使用runAction来执行动作。对于多个动作顺序执行的情况,通常使用sprite->runAction(CCSquence::create(act1,act2,...,NULL));
    回调动作:
    是即时动作即:CCActionInstant中的CCCallFuncN。使用时,第一个参数为this。第二个参数选择相应的回调。

    设置背景:
    在初始化Layer时,使用CCLayerColor::initWithColor(ccc4(r,g,b,a));

    回调函数:
    callfuncN_selector等方法进行转换类型。
    一些函数的参数被定义为回调。(为了实现异步么?)其类型是SE_XXX。这样我们就需要更改我们相应函数的类型。使用这一组宏,可将普通函数更改为回调函数。

    精灵显示、隐藏:
    layer->addChild()、layer->removeChild()。

    定时调用函数(层中):
    layer->schedule()。可方便的以一个延时为标准,定制的调用函数。

    触屏消息响应:
    Scene中 :通常用于菜单中的响应。Layer中:用于响应动作。
    1、调用setTouchEnabled(true);接收点击消息。
    2、重写响应
    ccTouchesBegan(CCSet *pTouches,CCEvent *pEvent);//触屏开始事件
    ccTouchesMoved(CCSet *pTouches,CCEvent *pEvent);//拖动事件
    ccTouchesEnded(CCSet *pTouches,CCEvent *pEvent);//触屏结束事件
     
    获得坐标的方法:
    CCTouch* touch = (CCTouch*)(touches->anyObject());
    CCPoint location = touch->getLocation();

    数据结构:
    CCArray。使用CCARRAY_FOREACH(m_abc, it)的宏化简for循环。CC版的for_each。

    点、方形
    ccp(x,y) 返回一个CCPoint。
    CCRectMake(x,y,width,height)返回一个CCRect。

    碰撞检测:
    rectA.intersectsRect 来判断两个方形是否有相交。

    播放音乐:
    CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(); //背景音乐
    CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect(); //动作效果音乐

    场景创建:
    场景要继承于CCScene。首先要在其初始化函数中调用CCScene::init()函数。然后调用addChild在其中加入Layer。

    动作延时:
    CCDelayTime::create(n)。延迟动作,n秒后结束。

    切换场景:
    CCDirector::sharedDirector()->replaceScene(scene)。更换场景。


    本篇博客出自 阿修罗道 ,转载请注明出处: http://blog.csdn.net/fansongy/article/details/8810555

  • 相关阅读:
    mouse_event模拟鼠标滚轮
    润乾报表配置技术路线
    建筑 物件 开心背单词 读句子,单词,字母,看图例, 翻译,看动画
    文字过渡动画,曲线过渡动画,,使用这个插件assign shape keys
    运动锻炼 开心背单词 读句子,单词,字母,看图例, 翻译,看动画,学英语,轻松背单词,简单背单词
    blender293 内置插件 精度绘画控件,PDT学习003,pdt tangents 切线
    日常用品 背单词 读句子 看图片 读单词 读字母 翻译, 看动画 学英语
    blender293 内置插件 精度绘画控件,PDT学习 precision drawing tools
    乔布斯 背单词 02 读句子 单词 字母 翻译,看动画 学英语 名言 我菜顾我在,我菜故我在,blender加python
    狐狸 和 乌鸦 英语 朗读句子 背单词
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3024743.html
Copyright © 2020-2023  润新知