lua 动画

一、延时概念

需要一定时间才能完成的动作、所以几乎所有的延时动作都使用执行时间作为参数、延时动作的共同基类是CCActionInstant类
cocos2d-x提供以下延时动作:

CCMoveTo:移动到、CCMoveBy:移动
CCRotateTo:旋转到、CCRotateBy:旋转
CCScaleTo:缩放到、CCScaleBy:缩放
CCSkewTo:切变到、CCSkewBy:切变
CCTintTo:颜色渐变到、CCTintBy:颜色渐变
CCFadeIn: 淡入、CCFadeOut: 淡出CCFadeTo:改变不透明度到
CCBlink:闪耀 设置闪烁次数
CCJumpTo:跳跃到、CCJumpBy:跳跃 设置跳跃高度和次数
CCBezierTo:贝塞尔曲线到、CCBezierBy:贝塞尔曲线

二、一些修饰动作类

1、CCRepeat:重复执行几次

local repeatAction = CCRepeat:actionWithAction(CCSequence:actionsWithArray(actions), 5)

2、CCRepeatForever:永久执行

3、CCSequence:按序列执行

local actions = CCArray:array()
actions:addObject(CCFadeOut:actionWithDuration(1))
actions:addObject(CCFadeIn:actionWithDuration(1))
sprite:runAction(CCRepeatForever:actionWithAction(CCSequence:actionsWithArray(actions)))

4、CCSpawn:同时执行

同步执行最后完成的时间由基本动作中用时最大者决定
action1 = CCMoveTo:actionWithDuration(2, ccp(50, 50))
action2 = CCRotateTo:actionWithDuration(2, 180)
action3 = CCScaleTo:actionWithDuration(1, 4)
action4 = CCScaleBy:actionWithDuration(1, 0)
sequence = CCSequence:actions(action3, action4)
sprite:runAction(CCSpawn:actions(action1, action2, sequence))

5、CCReverseTime 反动作

形成一种循环、CCxxxTo类通常不支持反动作,而CCXxxxBy类通常支持
moveTo = CCMoveTo:actionWithDuration(2, ccp(50, 50))
sequence = CCSequence:actions(moveTo,CCReverseTime:actionWithAction(moveTo))

6、CCAnimate 动画类

local action = CCAnimate:actionWithAnimation(animation)
sprite:runAction(CCRepeat:actionWithAction(action, 10))

7、CCDelayTime 延时等待类

action1 = CCMoveBy:actionWithDuration(1.2, ccp(200, 200))
action2 = CCMoveBy:actionWithDuration(1.2, ccp(200, 200))
sprite->runAction(CCSequence:actions(action1, CCDelayTime:actionWithDuration(1),action2))

8、CCProgressFromTo与CCProgressTo 进度动作

进度动作的执行节点为CCProgressTimer、而不是我们常用的CCSprite
--时间 百分比
to1 = CCProgressTo::actionWithDuration(2, 100);         
leftToRight = CCProgressTimer:progressWithFile( “123.png”)
leftToRight:setScale(0.95)
leftToRight:setAnchorPoint(CCPointMake(0.5, 0.5))
leftToRight:setPosition(PT(WINSIZE.width/2,60))
--顺时针、逆时针、左、右、上、下(枚举 0 1 2...)
leftToRight:setType(Type)
leftToRight->runAction( CCRepeatForever::actionWithAction(to1))

9、CCGridAction 网格动作类集

网格动作,是一种特殊的变换效果、类似于特效、可以实现全屏幕的,翻转,抖动,震荡,水波纹等。
CCGridAction是所有网格动作的基类、他有两个派生类、
CCTiledGrid3DAction:基于Tiled的网格动作、CCGrid3DAction:普通网格动作

三、补间动画(速度变化)

基本动作和组合动作实现了针对精灵的各种运动和动画效果、但它们的速度通常是恒定不变的
通过CCActionEase类系和CCSpeed类、我们可以很方便地改变精灵执行动作的快慢
CCEaseIn - 由慢至快(速度线性变化)
CCEaseOut - 由快至慢
CCEaseInOut - 由慢至快再由快至慢
CCEaseSineIn - 由慢至快(速度正弦变化)
CCEaseSineOut - 由快至慢
CCEaseSineInOut - 由慢至快再由快至慢
CCEaseExponentialIn - 由慢至极快(速度指数级变化)
CCEaseExponentialOut - 由极快至慢
CCEaseExponentialInOut - 由慢至极快再由极快至慢
CCSpeed - 人工设定速度,还可通过setSpeed不断调整

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
datasynthetic.lua是一个Lua脚本文件,用于进行数据合成。数据合成是指根据已有的数据生成新的数据,并加入一些噪声或变化,以扩充数据集的规模和增加样本的多样性。 在datasynthetic.lua中,常见的数据合成方法包括随机抽样、插值、噪声添加等。随机抽样是指从已有的数据集中随机选取一些样本,并在选取的样本中进行一些变换,如旋转、平移等,以生成新的样本。插值是指根据已有的数据点,通过线性插值或其他插值方法,生成新的数据点。噪声添加是指在已有的数据中,加入一些随机的噪声,使得生成的新数据更具有多样性和真实性。 使用datasynthetic.lua进行数据合成时,需要提供已有的数据集作为输入,并根据需要设置一些参数,如合成的样本数量、合成方法等。脚本会根据这些参数进行数据的合成,并生成新的数据集。 数据合成在很多应用领域中都具有重要的作用。例如,在机器学习中,数据合成可以提高模型的泛化能力和鲁棒性,帮助模型更好地适应各种情况。在计算机图形学中,数据合成可以用于生成真实感的图像和动画。在物理模拟中,数据合成可以用于生成各种场景下的物理参数。总之,datasynthetic.lua能够帮助我们更好地利用已有的数据,并生成更多样化和丰富的新数据,从而提高研究和应用的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值