require "Cocos2d"
require "Cocos2dConstants"
local testscene = class("testscene",function()
        return cc.Scene:create()
end)
function testscene:create()
local  scene = testscene.new()
    return scene
end
--默认函数
function testscene:ctor()
--创建层-将层加入场景中
    local layer = cc.Layer:create()
    self:addChild(layer)
--创建节点-将节点加入层中
    local node = cc.Sprite:create("res/land.png")
    node:setPosition(240,160)
    node:setAnchorPoint(0.5,0.5)
    layer:addChild(node,2)

local size = node:getContentSize()
        _beginNum = 200
--创建文本-将文本加入节点中
    txt =  cc.LabelTTF:create(tostring(_beginNum),"Marker Felt",24)
        txt:setColor(cc.c4b(20,25,255,255))
        txt:setPosition(size.width/2,size.height/2)
        txt:setAnchorPoint(0.5,0.5)
        node:addChild(txt)
    local taction = {}
--延迟
    local delay =cc.DelayTime:create(0.01)
        table.insert(taction,delay)
--扩大
        local scale = cc.ScaleTo:create(0.2,2)
        local scale2 = cc.ScaleTo:create(0.2,1)
           table.insert(taction,scale)
           table.insert(taction,scale2)
-- 数值改变
        _endNum =10000
        math.randomseed(3000)
        _dis = math.random(5000,10000)
        print(_dis)
    local rtime = (_endNum-_beginNum)/_dis
        print(rtime)
    function chagenum()
        if (_beginNum <  _endNum) then
           _beginNum= _beginNum +_dis
            txt:setString(_beginNum)
        elseif (_beginNum ==  _endNum) then
            txt:setString(  _endNum)
        end
    end
    local seq = cc.Sequence:create(delay,cc.CallFunc:create(chagenum))
--数字翻滚
    local X = size.width/2
    local Y = size.height/2
    local UPY = 2*Y
    local DownY = 0
    local move1 = cc.MoveTo:create(0.05,cc.p(X,UPY))
    local move2 = cc.MoveTo:create(0.05,cc.p(X,DownY))
    local move3 = cc.MoveTo:create(0.05,cc.p(X,Y))

local scale1 = cc.ScaleTo:create(0.05,1,0.001)
    local scale2 = cc.ScaleTo:create(0.05,1,1)

local UP =   cc.Sequence:create(move1,scale1)
    local Down =   cc.Sequence:create(move2,scale1,scale2,move3)
    local spawn = cc.Spawn:create(UP,seq,Down)
    local rep = cc.Repeat:create(spawn,rtime)
--设置真值
    local function setnum()
        _beginNum =  _endNum
        txt:setString(_beginNum)
    end

local call = cc.CallFunc:create(setnum)
    local seq2 = cc.Sequence:create(rep,delay,call)
        table.insert(taction,seq2)
        table.insert(taction,scale)
        table.insert(taction,scale2)
    local seqaction = cc.Sequence:create(taction)
    txt:runAction(seqaction)

return layer
end

return testscene

 

采用cocos2d-x lua 制作数字滚动效果样例的更多相关文章

  1. WPF数字滚动效果

    和WPF数字滚动抽奖有区别,WPF数字滚动抽奖是随机的,而这里是确定的. 为了系统演示,这个效果通宵加班写了整整6个小时,中间就上了次厕所. 代码: RollingNumberItemCtrl.xam ...

  2. 关于Unity中UI中的RawImage节点以及制作地图滚动效果

    一.贴图的Texture Type属性类型 Texture:会把贴图的大小转换为最相近的2的n次方,比如400X1369会转换为512X1024. Sprite 2D:是贴图的原始大小. 二.RawI ...

  3. Odometer使用JavaScript和CSS制作数字滑动效果

    Odometer是一个使用JavaScript和CSS技术,制作出数字上下滑动的动画效果插件,有点类似与我们的天然气的读数的动画效果,这个插件是轻量级的,压缩版本只有3kg,使用CSS3动画技术,所以 ...

  4. 用 Stellar.js 制作视差滚动效果

    参考 http://doc.bropaul.com/Stellar.js/docs/ https://github.com/markdalgleish/stellar.js#download http ...

  5. 用jQuery实现数字滚动效果

    html 部分 <div class="js-box box"></div> css 部分 .statistic .box{ display: inline ...

  6. ajax异步请求获取数据,实现滚动数字的效果。

    BackgroundPositionAnimate.js下载 需要导入的js: <script type="text/javascript" src="js/jqu ...

  7. Vue.js大屏数字滚动翻转效果

    ================================ 大屏数字滚动翻转效果来源于最近工作中element后台管理页面一张大屏的UI图,该UI图上有一个模块需要有数字往上翻动的效果,以下是最 ...

  8. marquee 实现首尾相连循环滚动效果

    <marquee></marquee>可以实现多种滚动效果,无需js控制.使用marquee标签不仅可以滚动文字,也可以滚动图片,表格等  marquee标签不是HTML3.2 ...

  9. 让数字变化炫酷起来,数字滚动Text组件[Unity]

    让数字滚动起来 上周我的策划又提了样需求,当玩家评分发生变动时,屏幕出现人物评分浮层UI,播放评分数字滚动动画.这类数字滚动需求非常常见,我就按一般思路,将startvalue与endvalue每隔一 ...

随机推荐

  1. ffmpeg视频截图命令

    ffmpeg.exe -i xxx.mp4 -y -f image2 -t 2 -s 64*320 xxx.jpg

  2. JS控制,返回上一页之后强行刷新一次

    网站建设过程中,提交页面后我们经常要用到window.history.go(-1)返回上一页,因为页面的缓存功能,我们只能返回上次操作的页面,但在删除等操作中,我们希望实时看到删除项目后的页面,这就要 ...

  3. Android stdio Apktool源码编译

    Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...

  4. Day11-协程/异步IO/RabbitMQ

    协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候 ...

  5. iframe的sandbox使用

    sandbox:限制iframe的权限,解决安全性问题. 定义 如果被规定为空字符串(sandbox=""),sandbox 属性将会启用一系列对行内框架中内容的额外限制.sand ...

  6. python之生成器

    def repeater(value): while True: new = yield value print(first, new) if new is not None: value = new ...

  7. kailli linux download

    https://www.offensive-security.com/kali-linux-arm-images/ Courses Certifications Online Labs Penetra ...

  8. Couldn't open CUDA library cublas64_80.dll etc. tensorflow-gpu on windows

    I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_load ...

  9. Spring MVC学习笔记——返回JSON对象

    1.想要GET请求返回JSON对象,首先需要导入jackson-all-1.9.4.jar包 2.在控制器中添加不同的show()方法 //show()方法返回JSON对象 @RequestMappi ...

  10. easyui如何动态改变列的编辑属性

    动态改变列的编辑属性 var tt=$('#dg').datagrid('getColumnOption', 'yearContent'); //通过列名获得此列 tt.editor={type:'t ...