理论部分 ProgressTimer是Node的子类. 该类根据百分比来渲染显示内部的Sprite对象. 变化方向包括径向,水平或者垂直方向. 代码部分 Type getType () const获取进度条的类型. float getPercentage () const获取进度条的百分比,范围为 0 到 100,包含0,100 Sprite * getSprite () const获取用来显示进度条比例的Sprite对象,已retain void setPercentage (float pe…
最近在学习源码的过程中发现:很多深层次的代码都用到了一个类System类,所以决定对System类一探究竟 本文先对System类进行了剖析,然后对System类做了总结 一.首先对该类的中的所有字段和方法进行了阅读,做好了中文翻译笔记,如下: System类学习笔记:1.最终类public final class System 这是一个final类,不允许继承2.私有构造器private System((){} 构造器被私有化,不允许创建对象3.静态代码块static{registerNati…
C++ list 类学习笔记 分类: C++ 2011-09-29 00:12 7819人阅读 评论(0) 收藏 举报 listc++iteratorvectorcconstructor 双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素.在STL中,list和vector一样,是两个常被使用的容器.和 vector不一样的是,list不支持对元素的任意存取.list中提供的成员函数与vector类似,不过list提供对表首元素的操作 push_front…
理论部分 时间间隔动作(ActionInterval)是一个在一段时间内执行的动作. 它有一个开始时间和完成时间.完成时间等于起始时间加上持续时间. ActionInterval的子类与位置有关的动作类:JumpBy,JumpTo,MoveBy,MoveTo,BezierBy,BezierTo,CardinalSplineBy,CardinalSplineTo与缩放有关的动作类:ScaleTo,ScaleBy,与旋转有关的动作类:RotateBy, RotateTo与倾斜有关的动作类SkewTo…
今天总结一下AbstractButton类的学习笔记. 一.描述 AbstractButton是对各种按键的抽象类他的继承关系是这样的 首先,QAbstractButton继承了QWidget类的各种用法: 其次,QAbstractButton是将各种按钮中共同存在的特性.功能抽象出来组成了一个类.所以他是所有按钮类的基类,提供了按钮的通用功能.但是由于他是给抽象类,不能直接实例化 from PyQt5.Qt import * import sys app=QApplication(sys.ar…
理论部分 有限时间动作类继承自Action类,被 ActionInstant(即时动作) , 以及 ActionInterval(持续动作) 继承. 即时动作是会立即被执行的动作,被 CallFunc, FlipX, FlipY, Hide, Place, RemoveSelf, ReuseGrid, Show, StopGrid , 以及 ToggleVisibility 继承. 时间间隔动作(ActionInterval)是一个在一段时间内执行的动作. 它有一个开始时间和完成时间,完成时间等…
理论部分 ActionManager是一个单例类,管理所有动作. 通常你不需要直接使用这个类.大多情况下,你将使用Node的接口,它提供了更友好的封装 但也有一些情况下,你可能需要使用这个单例. 示例: 当你想要运行一个动作,但目标不是节点类型. 当你想要暂停/恢复动作. 代码部分 void addAction (Action *action, Node *target, bool paused)增加一个动作,同时还需要提供动作的目标对象,目标对象是否暂停作为参数.当目标状态paused为tru…
理论部分 Action类也是cocos核心基础类之一,在游戏中起着非常重要的作用,继承自Ref,被 FiniteTimeAction(有限时间动作), Follow , 以及 Speed 继承. 有限时间动作可以划分成: 即时动作(ActionInstant),即时动作只能够立刻完成的动作,这类动作是在下一帧立刻完成的动作,如设定位置.设定缩放等.把它们包装成动作后,可以与其他动作类组合为复杂动作. 持续动作(ActionInterval),在规定的时间内,执行完成对象属性,位置,特效,序列动作…
理论部分 Node类继承自Ref类,是cocos框架中基础底层的一个封装类,与画面渲染相关的类一般都是继承自该类,例如Scene,Layer,Sprite,Sprite3D,Label,SpriteBatchNode,MenuItem,ClippingNode,DrawNode,ParticleBatchNode, ParticleSystem等都是继承自Node类. 代码部分 父子节点关系API virtual void addChild (Node *child)添加一个子节点到容器内,z-…
理论基础 Widget类,所有UI控件的基类. 这类继承自ProtectedNode和LayoutParameterProtocol. 如果你想实现自己的UI控件,你应该继承这个类. 被 VideoPlayer, WebView, AbstractCheckButton, Button, EditBox, ImageView, Layout, LoadingBar, RadioButtonGroup, RichText, Slider, Text, TextAtlas, TextBMFont ,…
理论部分 即时动作是会立即被执行的动作.他们没有持续时间动作(ActionInterval)的持续时间属性.继承自 FiniteTimeAction.被 CallFunc, FlipX, FlipY, Hide, Place, RemoveSelf, ReuseGrid, Show, StopGrid , 以及 ToggleVisibility 继承. FlipX,FlipX可以立即水平翻转一个精灵. FlipY,FlipY可以立即垂直翻转一个精灵. Hide,隐藏动作用来立即隐藏一个节点. S…
理论部分 Label类继承自Node类,中文翻译文字与字体,通常在应用开发中为模块作为提示和描述的作用,主要有3中不同的创建方式. 1.通过ttf字体包创建,通过指定本地已有的ttf格式的字体文件,创建Label. 优点:这种字体格式一般就是网上字体库下载下来的格式,往往对一种语言的文字支持比较全面,可以随意设置字体的大小. 缺点:一个字体ttf支持的文字较多,导致了体积庞大,字体描绘的效率低,不适合更新频繁的Label使用. 2.通过fnt格式文件创建,通过指定本地已有的fnt格式的文件,创建…
理论基础 复选框是一种特定类型的“两状态”按钮,可以处于“选中”和“未选中状态”.继承自AbstractCheckButton.注 AbstractCheckButton继承自Widget类. 代码部分 Public属性类型 enum EventType复选框事件类型,目前只有“选中”和“未选中”两种事件. ccCheckBoxCallback一个回调函数,它将在某个复选框事件触发后被调用. Public成员函数 void setSelectedState (bool selected)变更复选…
理论基础 表示一个按钮组件. 按钮可以被按下,或者点击, 并且在按下或者点击之后,可以由用户指定一个动作来执行,继承自 Widget. 代码部分 static Button * create ()创建一个空的按钮. static Button * create (const std::string &normalImage, //正常状态纹理的名字.const std::string &selectedImage="", //选中状态纹理名称.const std::st…
理论基础 一个用来输入文本的类,继承自 Widget , 以及 IMEDelegate. 代码部分 Public枚举类型 enum KeyboardReturnType键盘的返回键类型. enum InputMode { ANY, EMAIL_ADDRESS, NUMERIC, PHONE_NUMBER, URL, DECIMAL, SINGLE_LINE } 枚举值 ANY  用户可以输入任何文本,包括换行符. EMAIL_ADDRESS  允许用户输入一个电子邮件地址. NUMERIC  允…
理论部分 缓动动作的基类,继承自 ActionInterval类.ActionEase本身是一个抽象的概念父类,开发者最好不要在代码中直接创建它的对象,因为它没有具体的执行效果,这一类的子类速度变化大致可以划分成三种. 由快变慢: 由慢变快: 又慢变快再由快变慢: 被 EaseBackIn, EaseBackInOut, EaseBackOut, EaseBezierAction, EaseBounce, EaseCircleActionIn, EaseCircleActionInOut, Ea…
理论部分 一个显示多个RichElement的容器类. 我们可以使用它很容易显示带图片的文本,继承自 Widget. 代码实践 static RichText * create ()创建一个空的RichText void insertElement (RichElement *element, int index)在指定位置插入一个RichElement. void pushBackElement (RichElement *element)在容器最后插入一个RichElement. void…
理论基础 PageView类又称Layout的管理器,可以让用户在多个Layout之间左右或者上下切换显示,继承自 Layout . 代码实践 static PageView * create ()创建一个空的PageView. void addWidgetToPage (Widget *widget, ssize_t pageIdx, bool forceCreate)把一个widget添加到指定的PageView页中. void addPage (Layout *page)往PageView…
理论基础 Text类又称ttf格式文本,可以用ttf文件或者系统自带字体,支持文字多,但是ttf文件格式体积大,渲染速度慢: TextBMFont类又称fnt格式文本,纹理创建,根据纹理上有的文字来显示: TextAtlas类又称艺术字文本: 代码实践 static TextBMFont * create()创建TextBMFont对象. static TextBMFont * create(const std::string &text, //文本的字符串形式.const std::strin…
各种方法创建Sprite和Animate //图片创建法 参数一:图片资源路径 参数二:Rect选区 auto sprite = Sprite::create(, )); addChild(sprite); /*************华丽分割线*************/ //BatchNode类纹理创建法 //参数一:纹理图片 参数二:容量(子节点数量上限) auto batchNode = SpriteBatchNode::create(); //参数一:获取纹理 参数二:Rect选区 a…
auto layer = Layer::create(); /*************华丽分割线*************/ auto layer = LayerColor::create(Color4B(, , , ), , ); /*************华丽分割线*************/ auto layer = LayerGradient::create(Color4B(, , , ), Color4B(, , , )); /*************华丽分割线*********…
理论基础 RadioButtonGroup可以把指定的单选按钮组织起来, 形成一个组, 使它们彼此交互. 在一个RadioButtonGroup, 有且只有一个或者没有RadioButton可以处于被选中状态.继承自Widget. 代码实践 RadioButtonGroup可以把指定的单选按钮组织起来, 形成一个组, 使它们彼此交互. 在一个RadioButtonGroup, 有且只有一个或者没有RadioButton可以处于被选中状态.继承自Widget. static RadioButton…
理论基础 RadioButton是一种特定类型的两状态按钮,它与复选框相似.它可以 和RadioButtonGroup一起使用,形成一个"组".继承自AbstractCheckButton,AbstractCheckButton继承自Widget. 代码部分 void addEventListener (const ccRadioButtonCallback &callback)注册一个回调函数, 它将在单选按钮被选中或者取消的时候被调用. bool isSelected ()…
基础理论 ListView控件是一个显示滚动项目列表的视图组. 列表项是通过使用addChild或insertDefaultItem插入到列表中的,继承自ScrollView. 代码实践 static ListView * create()创建一个空ListView. void setItemModel (Widget *model)设定一个ListView的模型. 当调用pushBackDefaultItem,该模型将作为一个蓝图,新副本将被插入到ListView控件. void pushBa…
基础理论 一个能够被用户触摸滚动的一个层次型布局容器视图,允许其尺寸大于屏幕显示的物理尺寸,其内部维护有一个布局用于水平的或垂直的存放子节点.继承自 Layout,被 ListView 继承. 代码实践 void setBounceEnabled (bool enabled)设置当滚动到边界时,是否内部容器发生弹回(bounce)效果 bool isBounceEnabled () const获取边界弹回(bounce)状态. void setInertiaScrollEnabled (bool…
理论基础 一个包含控件的容器. 子节点可以根据布局类型重新排序,它还可以开启剪裁,设置背景图像和颜色.继承自Widget,以及LayoutProtocol. 被 HBox, PageView, RelativeBox, ScrollView , 以及 VBox 继承. 主要有四种类型的布局: 绝对布局:这个默认的布局类型.子元素按照绝对位置排列. 水平布局:子元素水平排列. 垂直布局:子元素垂直排列. 相对布局:子元素相对于一定的规则排列. 代码实践 static Layout * create…
基础理论 一个接受用户输入的widget. 输入文本的渲染基于TextFieldTTF. 如果你想用系统控制行为,请使用EditBox来替代.继承自 Widget. 代码实践 //与占位符有关void setPlaceHolder (const std::string &value)设置占位符. const std::string & getPlaceHolder () const获取占位符. const Color4B & getPlaceHolderColor () const…
理论基础 在一些操作中可视化指示进度条.显示给用户一个条表示操作已经完成了多少,继承自 Widget. 代码实践 static LoadingBar * create ()创建一个空的LoadingBar. static LoadingBar * create (const std::string &textureName, //LoadingBar背景纹理图片文件.float percentage=0) //显示的进度百分比.使用一个纹理和一个进度百分比创建一个LoadingBar. stat…
理论基础 显示图片的小控件,继承自 Widget . 代码实践 static ImageView * create()创建一个空的ImageView static ImageView * create(const std::string &imageFileName, //纹理的文件名字.TextureResType texType=TextureResType::LOCAL)根据图片名字创建一个ImageView. void loadTexture (const std::string &…
理论基础 滑动条控件. 代码实践 实例: // Create the slider Slider* slider = Slider::create(); slider->loadBarTexture("cocosui/sliderTrack.png"); slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", "&q…