Cocos2d-X数据、动作、消息的基本操作
加入类的create方法: CREATE_FUNC(ClassName) 使用这个宏能够为类加入一个create方法。 创建类的对象时一律用Class::create()的形式。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 在CREATE_FUNC这个宏中定义的类初始化调用顺序为:构造函数、init。
动作使用: 动作是挂在人物(精灵)上的。使用动作三步走。1、找到对应精灵。
通常精灵会使用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中 :通经常使用于菜单中的响应。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄
且将这个类对象设置为autorelease。这也就意味着,用create创建的对象无需手动delete。
可是有时还是要在切换场景等操作时,保留这个对象。
这就须要使用retain()函数,当然使用它的同一时候,你就须要为内存管理负责,要手动delete。
数据绑定: CC_SYNTHESIZE_READONLY(varType, varName, funName) 使用这个宏能够自己主动创建get和set方法。 总体框架结构:2、编辑动作。
3、精灵运行动作。
动作类例如以下结构。动作分为瞬时动作(基类CCActionInstanse)和延时动作(基类CCActionInterval)。能够直接声明一个CCFiniteTimeAction指针用于操作。省的分辨详细是那个动作类型。尽管事实上也挺好记的。
Layer中:用于响应动作。
1、调用setTouchEnabled(true);接收点击消息。 2、重写响应数据结构: CCArray。使用CCARRAY_FOREACH(m_abc, it)的宏化简for循环。ccTouchesBegan(CCSet *pTouches,CCEvent *pEvent);//触屏開始事件 ccTouchesMoved(CCSet *pTouches,CCEvent *pEvent);//拖动事件 ccTouchesEnded(CCSet *pTouches,CCEvent *pEvent);//触屏结束事件获得坐标的方法: CCTouch* touch = (CCTouch*)(touches->anyObject()); CCPoint location = touch->getLocation();
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)。更换场景。
更多精彩