游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1864|回复: 0

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

[复制链接]

7867

主题

7909

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
19358
发表于 2013-5-30 14:49:10 | 显示全部楼层 |阅读模式
          作者:小满

          1.内存自动回收

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


0_1327327412C8Qo.gif.png


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

          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.直接设置(这个不算动作动画)


0_1327327417DaV8.gif.png


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

          2.动作返回


0_13273274220htt.gif.png


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

          3.消息机制


0_132732742822V4.gif.png


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

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

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-26 18:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表