• 动作类


    基本概念:
    CCAction是动作类的基类,所有动作都派生自这个类,它创建一个对象代表了一个动作,动作作用于CCNode。
     
    值得注意的是:一个CCAction只能使用一次,这是因为动作对象不仅描述了动作,还保存了这个动作持续过程中不断改变的一些中间参数。对于需要反复使用的动作对象,可以通过copy方法复制使用。
     
    CCAction作为一个基类,其实质是一个接口,即抽象类,由它派生的实现类才是我们实际使用的动作。CCAction的绝大多数实现类都派生自CCFiniteTimeAction,这个类定义了在有限时间内可以完成的动作。CCFiniteTimeAction定义了reverse方法,通过这个方法可以获得一个与原动作相反的动作(逆动作),比如隐藏一个精灵,用逆动作显示出来,并不是所有的动作都有对应的逆动作。
    由CCFiniteTimeAction派生出的两个主要类分别为瞬时动作CCActionInstant和持续性动作CCActionInterval。
     
     
     
    瞬时动作:
    瞬时动作是指能立刻完成的动作,是CCFiniteTimeAction中动作持续时间为0的特例。更准确的说,这类动作是在下一帧会立刻执行并完成的动作。
     
     
    持续性动作:
    每一种持续性动作通常存在两个不同的变种动作,分别具有To和By后缀:后缀为To的动作描述了节点属性值的绝对变化,例如CCMoveTo将对象移动到一个特定的位置;而后缀为By的动作则描述了属性值相对的变化,如CCMoveBy将对象移动一段相对位移。
    根据作用效果不同,分为以下几种:
        位置变化动作
        属性变化动作
        视觉特效动作
        控制动作
     
    复合动作:
        重复(CCRepeat/CCRepeatForever)
     
        并列(CCSpawn)
        指的是使一批动作同时执行,例如,鱼一边沿曲线游动一边摇尾巴
     
        序列(CCSequence)
        提供了一个动作队列,它会顺序执行一系列动作。
     
        延时(CCDelayTime)
        CCDelayTime是一个什么都不做的动作,用来表示动作序列里一段空白期,通过站位的方法将不同的动作段串在一起。
     
     
    变速动作:
        CCSpeed动作
        用于线性地改变某个动作的速度,因此可以实现成倍地快放或慢放功能。
        注意:要先创建一个动作,然后将目标动作包装到CCSpeed动作中;
        例如:
    1 CCRepeatForever* repeat = CCRepeatForever::create(animation);
    2                CCSpeed* speed = CCSpeed::create(repeat, 1.0f);
    3                speed->setTag(action_speed_tag);
    4                fish->runAction(speed);
        
        CCActionEase动作
        分为以下五类动作,每一类动作都有3个不同时期的变换:In 、Out、InOut。
        图像中,横坐标表示实际动画时间,纵坐标表示变换后的动画时间。因此,线性动作的图像应该是一条自左下角到右上角的直线。
        
        
  • 相关阅读:
    航班预定统计(差分数组+前缀和)
    救生艇
    Xcode 的正确打开方式——Debugging
    多次页面跳转后pop回主界面的问题
    理解Bitcode:一种中间代码
    使用AFNetWorking读取JSON出现NSCocoaErrorDomain Code=3840的解决方法
    No identities are available for signing的解决方法
    Aufree/trip-to-iOS
    Alcatraz -- 一个神奇的管理插件的Xcode插件
    GenericKeychain
  • 原文地址:https://www.cnblogs.com/Blogs-young-chan/p/5223471.html
Copyright © 2020-2023  润新知