• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

runAction笔记(cocos2dx-lua)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

>>>>>

不想每次忘了都翻书,所以做个笔记吧

>>>>>
相关接口:
node:runAction(action);
停止所有动作:node:stopAllAction();--我的项目除了这个其他都用不了,mmp
停止指定action对象:node:stopAction(action);
停止指定tag对象:node:stopActionByTag(tag);
 
>>>>>
简单又好看的runAction:
cc.CallFunc:create(function() end)--函数调用
cc.DelayTime:create(1)--延迟(啥也不做)
cc.ScaleTo:create(0.2,0.8)--在0.2秒内缩放到0.8倍的尺寸
cc.ScaleBy:create(0.2,0.8)--在0.2秒内缩放增加0.8倍的尺寸?不常用
cc.MoveTo:create(0.5,cc.p(0,15))--在0.5秒内移动到坐标为(0,15)的位置
cc.MoveBy:create(0.5,cc.p(0,15))--在0.5秒内y轴正向移动15像素的距离

 

>>>>>
执行方式:
cc.Repeat:create(action,times)--重复执行times次action
cc.RepeatForever:create(action)--重复执行无限次action
cc.Spawn:create(action1,action2,...)--同时执行action1...
cc.Sequence:create(action1,action2,...)--顺序执行action1...
cc.Follow:create(followedNode,rect)--在rect范围内跟随执行followedNode节点的action(可用于地图随精灵移动)

 

>>>>>
运动方式:
In:先慢后快
Out:先快后慢
InOut:慢-快-慢
<wiz_code_mirror>
cc.EaseSineInOut:ceate(cc.MoveBy:create(0.5,cc.p(0,100)))--Sine缓冲:慢-快-慢
cc.EaseExplInOut:ceate(cc.MoveBy:create(0.5,cc.p(0,100)))--指数缓冲
cc.EaseElasticInOut:ceate(cc.MoveBy:create(0.5,cc.p(0,100)))--弹性缓冲
cc.EaseBounceInOut:ceate(cc.MoveBy:create(0.5,cc.p(0,100)))--跳跃缓冲
cc.EaseBackInOut:ceate(cc.MoveBy:create(0.5,cc.p(0,100)))--回震缓冲

 

上图︿( ̄︶ ̄),嗯,有点大,缩小了
 
>>>>>
tableView列表类型出场效果
--次数控制:在ctor申明
self.isAppear = 4    --有多少个需要出场就写多少个
--函数体:
function className:functionName(node)
    if node and self.isAppear >=1 then
        self.isAppear = self.isAppear - 1    --执行出场东的次数,每次进来用掉一次
        node:setScale(1.15)
        node:setVisible(false)
        local action = cc.Sequence:create(
            cc.DelayTime:create(self.isAppear * 0.08)
            cc.CallFunc:create(function() node:setVisible(true) end),
            cc.EaseInOut:create(cc.ScaleTo:create(0.12,1),0.2),
            cc.CallFunc:create(function() node:setScale(1) end)
            )
        node:runAction(action)
    end
end
--调用:
if (self.cellNum - idx) >= 4 then    
    --self.cellNum:列表总数,idx:当前编号,>= 4:这个根据执行次数和倒续正续自己改
    self:functionName(node)
end

 

函数设置
local action = cc.RepeatForever:create(
    cc.ScaleTo:create(0.2,1.2)--在0.2秒内缩放到1.2倍的尺寸
    cc.ScaleTo:create(0.2,1)
)
node:runAction(action)

 

出场特效
--效果:延迟1秒,在0.2s内,缩放到0.8倍---适合出场特效
node:runAction(cc.Sequence:create(
        cc.DelayTime:create(1),
        cc.ScaleTo:create(0.2,0.8)
));

 

缩放循环效果
---效果:使图标永远重复放大缩小效果。----适合循环特效
local action = cc.Sequence:create(
    cc.ScaleTo:create(0.5,1.1),--0.5s内放大百分之十
    cc.ScaleTo:create(0.5,1)--0.5s内恢复原有尺寸
    )
node:runAction(cc.RepeatForever:create(action));

 

上下浮动循环效果
--注:这里使用上面的写法会报错
    local action = cc.MoveBy:create(0.5,cc.p(0,15))--向上移动
    local res = action:reverse();--反转(反转成向下移动)
node:runAction(cc.RepeatForever:create(cc.Sequence:create(action,res)));--永远重复上下浮动

 

>>>>>

 

>>>>>


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua程序设计(二)面向对象概念介绍发布时间:2022-07-22
下一篇:
在Spring中使用RedisLua脚本批量删除缓存发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap