今天在开发的时候,涉及到了使用倒计时来显示。

首先自己的思路是:

1、设计显示的Lable。

2、对传入的时间进行处理,转成字符串00:00:00。通过调用回调函数来控制一秒刷新一次。

转换算法:

 h = math.floor(time / ),
m = math.floor((time % ) / ),
s = math.floor((time % ) % )。

3、设置回调函数,通过延时一秒和调用Label显示函数。

代码如下:

 function TimeNumLayer:__init()
Layer.__init(self) self.start_time =
self.run_time = self.time_label = Label.CreateWithString(" ", GlobalConfig.FontType, )
self:AddChild(self.time_label)
self.time_label:SetPosition(, ) self.cd_time = self.cd_time or
self:Start()
end function TimeNumLayer:Update(interval)
self.run_time = self.run_time + interval
local cd_time = if self.cd_time > then
cd_time = self.cd_time - self.run_time
end if cd_time < then
cd_time =
end
self.time_label:SetString(LogicHandle.Get24FormatStr(cd_time))
end function TimeNumLayer:Start()
self.start_time = game_app.game_server_time
self.cd_time = game_app.pet_call_info.PerfectTime
self.run_time =
end

lua中实现倒计时的更多相关文章

  1. Android开发案例 – 在AbsListView中使用倒计时

    在App中, 有多种多样的倒计时需求, 比如: 在单View上, 使用倒计时, 如(如图-1) 在ListView(或者GridView)的ItemView上, 使用倒计时(如图-2) 图-1 图-2 ...

  2. lua中基类和“继承机制”

    基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...

  3. lua中实现异步资源读写

    同样还是更新方面的需求,当我们检测到版本是新安装的以后,要进行upd目录清除.如果使用os.execute执行 rm -rf ooxx 是非常快的但由于os.execute一旦报错,那整个lua进程就 ...

  4. lua中清空目录和递归创建目录

    lua中的 lfs.mkdir lfs.rmdir只能针对单个目录,且lfs.rmdir不能清空文件夹 于是我想到了使用os.execute 递归创建目录如下os.execute("mkdi ...

  5. lua中的string类型

    在lua中用union TString来表示字符串类型 lobject.h: 其中结构体tsv中 reserved字段表示字符串是不是保留关键字,hash是其哈希值,len是其长度.我们在TStrin ...

  6. 在 lua 中实现函数的重载

    在 lua 中实现函数的重载.注:好吧,lua中原来可以实现重载...local function create() local arg_table = {} local function dispa ...

  7. lua中的table、stack和registery

    ok,前面准备给一个dll写wrapper,写了篇日志,看似写的比较明白了,但是其实有很多米有弄明白的.比如PIL中使用的element,key,tname,field这些,还是比较容易混淆的.今天正 ...

  8. lua中的协程

    lua中的协程和线程类似: 1. 协程拥有自己的独立的栈,局部变量,和指令: 2. 所有协程都可以共享全局变量: 3. 协程不能像线程那样并行执行,协程之间需要相互协调执行,同一个时刻只能运行一个协程 ...

  9. lua 中的面向对象

    lua 是一种脚步语言,语言本身并不具备面向对象的特性. 但是我们依然可以利用语言的特性,模拟出面向对象的特性. 面向对象的特性通常会具备:封装,继承,多态的特性,如何在lua中实现这些特性,最主要的 ...

随机推荐

  1. jmx学习

    原文地址:https://www.cnblogs.com/dongguacai/p/5900507.html 一.JMX的定义 JMX(Java Management Extensions)是一个为应 ...

  2. 【oneday_onepage】——Ten Changes To Make A Difference In Your Life

    When you want to change something in your life, it can feel overwhelming. Whether it’s losing 50lbs ...

  3. 服务器cpu过高修复:操作系统内核bug导致

    服务器cpu过高修复:操作系统内核bug导致修改系统内核参数/etc/sysctl.conf添加下面2条参数:vm.dirty_background_ratio=5vm.dirty_ratio=10

  4. jquery ajax 无刷新上传

    var form = new FormData(); form.append('file', $("#submitmaterials").find("input" ...

  5. VS Code 如何直接在浏览器中预览页面

    VS Code 预览html页面的时候,默认需要在资源管理器中显示,再在浏览器中预览.今天介绍一下如何直接预览html页面. 方法一:自己配置快捷键 1.ctrl + shift + p 或者 F1  ...

  6. 微信小程序——引用阿里云字体

    阿里图标官网:http://www.iconfont.cn 使用阿里云图标大致的方法就是:选中你的图标——保存至你的项目——下载你的图标项目——在项目中引用字体文件. 具体方法可以参考:引用阿里云矢量 ...

  7. radio切换,点击方法onclick

    <label><input name="Status1" type="radio" value="first" check ...

  8. 【HBase】zookeeper在HBase中的应用

    转自:http://support.huawei.com/ecommunity/bbs/10242721.html Zookeeper在HBase中的应用 HBase部署相对是一个较大的动作,其依赖于 ...

  9. htop VS top

    在 Linux 系统中,top 命令用来显示系统中正在运行的进程的实时状态,它显示了一些非常有用的信息,比如 CPU 利用情况.内存消耗情况,以及每个进程情况等.但是,你知道吗?还有另外一个命令行工具 ...

  10. altium designer 软件常用技巧总结(实时更新)

    1.在使用altium designer画PCB时,在PCB界面画线找不到焊盘的中心点,将输入法切换到英文状态,按键盘D---O---勾选snap to object hotspots即可. 2.想高 ...