用户交互与内存管理
用户交互与内存管理
悠米海 发表于4年前
用户交互与内存管理
  • 发表于 4年前
  • 阅读 10
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 用户交互与内存管理

用户交互

1、机制

CCLayer(图层)提供用户交互处理,相关的函数如下:

概括为触碰和加速度操作。交互信息的携带者是CCTouch对象

Cocos2dx 2版本使用CCTouchDispatcher3版本使用CCEventDispatcher

具体查看CClayer::setTouchEnable(bool value)函数

触摸事件分为单点和多点,单点是目标委托对象,多点是标准委托对象,在3版本的cocos2dx中对应有EventListenerTouchAllAtOnceEventListenerTouchOneByOne两种事件。

相应的回调:ccTouchBegan(Ended/Moved) ccTouchesBegan(Ended/Moved)

加速度计回调:didAccelerate


内存管理

1、引用计数

CCObject对象m_uReference(引用计数),创建对象或者引用(retain)对象之后必须调用release减少引用计数,cocos2dx提供手动和自动两种方式管理内存。

2、自动释放池

自动方式是自动释放池(CCPoolManager),继承自CCObject的对象,调用autorelease就加入了自动释放池管理。

3、管理模式

引擎中的管理者

类名 描述

CCActionManager 动作管理器

CCSpriteEngineManager 脚本管理器

CCPoolManager 自动释放池

CCAnimationCache 动画缓冲

CCSpriteFrameCache 精灵帧缓冲

CCShaderCache 渲染脚本缓冲

CCTextureCache 纹理缓冲

几个缓冲一般在切换场景的时候释放是明智的选择;


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 12
博文 92
码字总数 37069
×
悠米海
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: