• runAction笔记(cocos2dx-lua)


    >>>>>

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

    >>>>>
    相关接口:
    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)));--永远重复上下浮动
    >>>>>

    >>>>>

  • 相关阅读:
    MVC中的SelectList函数使用笔记
    如何用JQuery将View中的值Post到Controller
    几种主流网页开发语言的思考(上)
    郁闷的OpenPOP的MIME Parser
    关于OpenPOP/OpenSMTP/Mail.Net的一些东西……
    一个不知道是不是很笨的MS SQL数据库连接类
    Ruby on Rails 细节中的精彩
    关于FreeTextBox 1.63/2.0.7/3.0RC/3.0的一些东西
    翻译:微软是如何输掉API之战(上)
    MSN Messenger的用户管理
  • 原文地址:https://www.cnblogs.com/xuehx/p/9582616.html
Copyright © 2020-2023  润新知