08 2019 档案
摘要:1. 相关的类 先介绍和AnimationManager相关的几个类: CCBSequence 时间线。有成员duration(时间线时间,默认10秒)、name(时间线名)、SequenceId(Id)、ChainedSequenceId(重复执行的时间线Id)、SequenceProperty*
阅读全文
摘要:1. 简介 CocosBuilder是免费开源的Cocos2d UI编辑器。 .ccb文件是CCB项目的原始文件。 .ccbi文件是CCB项目发布后的生成的二进制文件。CCBReader可以快速通过该二进制文件,读取并设置CCB项目内容到引擎中。 .ccb文件是用map键值对的形式,保存了项目中所有
阅读全文
摘要:ccbi总体结构 CCBReader按字节读取.ccbi内容,每个字节8位二进制。 .ccbi总体结构分为4个部分: Header 第0-3字节:ibcc .ccbi文件的标志。readHeader方法读取这四个字节,如果非ibcc说明非.ccbi文件,返回false停止继续读取。 第4字节:二进制
阅读全文
摘要:【Cocos2d-x 学习笔记 】目录 1. 简介 TableView直接继承了ScrollView和ScrollViewDelegate。说明TableView能实现ScrollView拖动container的效果。重写了ScrollViewDelegate的委托方法scrollViewDidSc
阅读全文
摘要:1. 简介 “甩出”效果是当我们快速拖动container并松开后,container继续朝原方向运动,但是渐渐减速直到停止的效果。 ScrollView的onTouchEnded方法会设置Timer,间隔0、延迟0、无限次数,回调函数是deaccelerateScrolling方法。说明触摸结束时
阅读全文
摘要:1. 简介 CCScrollView.cpp文件内的滚动视图ScrollView直接继承了Layer+ActionTweenDelegate。 滚动视图能在屏幕区域内,用户通过触摸拖动屏幕,实现大于屏幕尺寸的图片的滚动效果。 滚动视图尺寸是我们的可视尺寸,滚动视图包含的成员container(lay
阅读全文
摘要:1. 简介 过渡场景TransitionScene直接继承了场景Scene。能够在场景切换过程中实现“过渡”效果,而不是让窗口在下一帧突然展示另一个场景。 2. create 构造函数: create方法有2个参数:float t, Scene *scene。调用了initWithDuration,
阅读全文
摘要:1. Scene 简介 游戏中我们看到/看不到的所有元素都是展示在场景之Scene上。 我们可以把场景比作放在地上的没盖纸箱,层Layer是纸箱里堆放的玻璃,Sprite等元素画在玻璃Layer上,这样我们从纸箱上往下看就能看到这一个场景。场景切换时,是更换不同的纸箱。 概括的说,导演管理N个场景,
阅读全文
摘要:1. 简介 Label直接继承了Node LabelProtocol BlendProtocol,用于渲染文本,让文本呈现的效果丰富。 Label有4种类型,: Label文本呈现的效果: 针对Label大小范围与文本长度冲突时的4种操作,用枚举定义: 1 2. 构造函数 从构造函数得知: 锚点(0
阅读全文
摘要:这里是本站所有 Cocos2dx 相关学习内容的目录。
阅读全文
摘要:【Cocos2d-x 学习笔记 目录链接】 1. 简介 ControlButton实现了按钮功能,根据触摸的位置和移动的过程可识别9中EventType类型,执行对应的回调函数。 直接继承了Control。拥有9种EventType和4种State。 2. create 按钮的创建需要Label和S
阅读全文
摘要:【Cocos2d-x 学习笔记 目录链接】 1. 简介 control为其子类提供了touch回调函数,当子类触发EventType相关事件时,会调用相关的回调函数。 control对象接收到的事件类型分9类: 用二进制的不同位表示单一的事件类型,说明这些类型可以同时发生。我们用或运算对多个单一事件
阅读全文
摘要:1.简介 Layer直接继承了Node。Layer类似Ps里图层的概念,也可以理解成一块透明玻璃。Scene类似Ps里的一张图像,也可以理解成堆放玻璃的箱子。 Layer能接收触摸事件、键盘事件、加速器事件。 导演类一次只能将一个Scene显示,例如存在登录场景、菜单场景、游戏场景,一个时刻只能一个
阅读全文
摘要:1. Event EventCustom 所有事件类继承了Event。 Event中的枚举,定义了事件的类型: Event成员变量: Event构造方法: EventCustom是自定义事件。比Event多出的成员变量: EventCustom构造方法事件类型Type设为CUSTOM。设置_even
阅读全文
摘要:1. EventTouch 触摸事件的成员变量:枚举EventCode、存储Touch的容器。 不同的EventCode代表不同时机的触摸事件,能让监听器调用不同的回调函数。 这里涉及到了Touch类: Touch类 封装了一个触摸信息,包括触摸点类型(单点/多点)、坐标、开始坐标、ID、3D触控压
阅读全文
摘要:dispatchEvent(Event* event)方法在对事件对应的监听器进行重新排序后,进行事件分发操作。具体操作由dispatchEventToListeners方法执行。 该方法声明: 第一个参数时监听器容器Vector,包含了存储两种监听器的容器。 第二个参数是回调函数,在该方法之前进行
阅读全文
摘要:监听器3个bool类型成员变量。 监听器能设置是否能够接收事件。 能随时接收事件进行处理,此时把它看做工作状态,需要满足条件: _paused = false; _isEnabled = true; 监听器init方法执行上述语句,使得不管哪种监听器,初始化时都默认处于工作状态。 监听器init方法
阅读全文
摘要:EventDispatcher对监听器进行管理,围绕着监听器工作。可以添加、删除、暂停/恢复监听器、分发事件到监听器。 1. 一些成员 2. 添加监听器: 2.1 添加和场景图优先级一致的监听器 addEventListenerWithSceneGraphPriority(EventListener
阅读全文
摘要:1. 定义 用枚举定义脏标记的4种类型。 这里用两位二进制值表示4种类型: 00 两容器都不脏, 01 仅自定义优先级监听器容器脏了, 10 仅场景图监听器容器脏了, 11 都脏了。 2. setDirty 参数为监听器ID、要置的脏值。 利用容器_priorityDirtyFlagMap存储脏标记
阅读全文
摘要:1. 事件分发方法 EventDispatcher::dispatchEvent(Event* event) 首先通过_isEnabled标志判断事件分发是否启用。 执行 updateDirtyFlagForSceneGraph()。把一些node对应的ID置脏标记。 对_inDispatch++,
阅读全文