zoukankan      html  css  js  c++  java
  • cocos2dx中的动作

    CCAction是cocos2dx中专门用来处理动作相关的类,几乎所有的与动作相关的类都是从它派生而来的.而CCAction继承自CCObject

    class CCFiniteTimeAction : public CCAction 

    由CCFiniteTimeAction 派生出
    的两个主要类分别是:

    瞬时动作 CCActionInstant

    持续性动作 CCActionInterval

    瞬时动作:

    即时间间隔为0的动作,实质上要到下一帧才能执行的动作.

    瞬时动作是指能立刻完成的动作,是CCFiniteTimeAction 中动作持续时间为0 的特例。更准确地说,这类动作是在下一帧会立刻执行并完成的动作,如设定位置、设定缩放等。这些动作原本可以通过简单地对CCNode赋值完成,但是把它们包装为动作后,可以方便地与其他动作类组合为复杂动作。

    主要的瞬时动作又叫即时动作:

    Place(布置位置),FlipX/Y(翻转),Show,Hide(显示,隐藏),CCToggleVisible(显示节点的隐藏和显示)

    延时动作:

    持续性动作是在持续的一段时间里逐渐完成的动作,也就是要跨多个帧循环来完成,如精灵从一个点连续地移动到另一个点,每一帧内移动一点,我们看到的移动是帧循环的累积效应。

    特点:

    a.持续性动作一般都会包括一个时间间隔的参数:float duration,即多长的时间间隔内执行完毕

    b.每一种持续性动作通常都存在两个不同的变种动作,分别具有To 和By 后缀:后缀为To 的动作描述了节点属性值的绝对变化,例如CCMoveTo将对象移动到一个特定的位置;而后缀为By 的动作则描述了属性值相对的变化,如CCMoveBy 将对象移动一段相对位移。

    主要的延时动作(又叫持续性动作):

    移动:moveto,moveby

    跳跃:jumpto,jumpby

    Bezier(贝塞尔曲线轨迹移动):BezierTo,BezierBy

    上面三个是与位置有关的持续性动作

    缩放动作:ScaleTo,ScaleBy

    旋转角度动作:RotateTo,RotateBy

    扭曲动作:SkewTo,SkewBy

    褪色动作:FadeIn,FadeOut,CCFadeTo(与透明度有关)

    折线动作:CCCardinalSpliteBy,CCCardinalSpliteTo(主要也是影响运动轨迹)

    上面是与属性有关的延时性动作

    复合动作:

    CCSpawn:通常用于并行执行两个动作,或多个动作,是动作的叠加

    CCSequence:通常用于执行一系列动作,是多个动作的串行执行

    视觉动作:

    CCBlink:闪烁动作

    CCAnimation:帧动画

    控制动作:

    CCRepeat:重复,可以设定某个动作重复的次数

    CCReaptForever:无限次重复某个动作,永远

    CCDelay:延时n秒后,执行某个动作,    class  CCDelayTime : public CCActionInterval,也可以认为是一个动作,它什么也不做,只是消耗时间

  • 相关阅读:
    ASP.NET CORE 使用Consul实现服务治理与健康检查(2)——源码篇
    ASP.NET CORE 使用Consul实现服务治理与健康检查(1)——概念篇
    Asp.Net Core 单元测试正确姿势
    如何通过 Docker 部署 Logstash 同步 Mysql 数据库数据到 ElasticSearch
    Asp.Net Core2.2 源码阅读系列——控制台日志源码解析
    使用VS Code 开发.NET CORE 程序指南
    .NetCore下ES查询驱动 PlainElastic .Net 升级官方驱动 Elasticsearch .Net
    重新认识 async/await 语法糖
    EF添加
    EF修改部分字段
  • 原文地址:https://www.cnblogs.com/ttss/p/4090016.html
Copyright © 2011-2022 走看看