加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x初探学习笔记(3)--动作(CCAction)

发布时间:2020-12-14 21:46:30 所属栏目:百科 来源:网络整理
导读:小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 1.内存自动回收 Cocos2d— x 提供了一种类似 java 的内存回收机制,,在 java 中定义的对象实例,不用担心他什么时候被释放,因为 java 虚拟

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

1.内存自动回收

Cocos2d—x提供了一种类似java的内存回收机制,,在java中定义的对象实例,不用担心他什么时候被释放,因为java虚拟机会在变量不再使用时自动释放内存,而在C++中,不再使用这个变量时,我们需要手动释放(使用delete),不然我们的内存就会溢出,而在使用cocos2d-x时我们无需再关心这个问题,就是在新创建实例时,加入autorelease,如图所示:

这样就可以自动释放不再需要的内存了.

2.动作(CCAction

cocos2d-x引擎中,动作定义了在节点上进行通用的操作,他不依赖于节点,但是运行时需要指定节点作为目标,动作可以实现很多动画效果

动作分为瞬时动作(基类CCActionInstanse)和延时动作(基类CCActionInterval),实现动作包括几个步骤:

1.创建目标节点(一般是精灵)

m_grossini=CCSprite::spriteWithFile(s_pPathGrossini);

2.定义动作

CCActionInterval*actionTo=CCMoveTo::actionWithDuration(2,CCPointMake(s.width-40,s.height-40));

3.动作执行

m_grossini->runAction(CCSequence::actions(actionBy,actionByBack,NULL));

以下就通过test中的几个例子来分析动作

1.直接设置(这个不算动作动画)


这个没什么好说的,就是直接设置位置,颜色,缩放度等内容,动作执行没有过程,直接看到结果

2.动作返回

其中reverse就是执行动作的反动作,回到原来的状态

3.消息机制


cocos2d-x也采用了消息机制,如上图中代码所示,在完成动作后调用相应函数

刚开始研究此引擎,如有错误之处,希望大家多多指正

下一篇写一下触屏部分和test中的TransitionsTest

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读