[Unity]Lua本地时间、倒计时和正计时。

2023-10-27

惯例,直接上代码:

--正计时开始时的时间戳
self.begin_time = os.time()
--倒计时时长,01:30:00
self.countdown_time = 5400
--是否开始计时
self.is_update_local_time = true

--Unity Update
function time_transition:update_local_timer()
    if not self.is_update_local_time then 
        return
    end
    self.begin_time = self.begin_time + 1
    --正计时
    local positive_time = self.begin_time
    if positive_time > self.countdown_time then
        self.is_update_local_time = false
        self.text_positive_time.text = "01:30:00"
    else
        local positive_time_table = {}
        if positive_time < 60 then
            positive_time_table.hour = 0
            positive_time_table.minute = 0
            positive_time_table.second = positive_time
        elseif positive_time > 60 and positive_time < 3600 then
            positive_time_table.hour = 0
            positive_time_table.minute = math.modf(positive_time / 60)
            positive_time_table.second = positive_time - positive_time_table.minute * 60
        else
            positive_time_table.hour = math.modf(positive_time / 3600)
            positive_time_table.minute = math.modf((positive_time - positive_time_table.hour * 3600) / 60)
            positive_time_table.second = positive_time - positive_time_table.minute * 60 - positive_time_table.hour * 3600
        end
        self.text_positive_time.text = self:local_time_format(positive_time_table)
    end
    --倒计时
    local countdown_time = self.countdown_time - positive_time
    local countdown_time_table = {}
    if countdown_time > 3600 then
        countdown_time_table.hour = math.modf(countdown_time / 3600)
        countdown_time_table.minute = math.modf((countdown_time - countdown_time_table.hour * 3600) / 60)
        countdown_time_table.second = countdown_time - countdown_time_table.minute * 60 - countdown_time_table.hour * 3600
    elseif countdown_time > 60 and countdown_time < 3600 then
        countdown_time_table.hour = 0
        countdown_time_table.minute = math.modf(countdown_time / 60)
        countdown_time_table.second = countdown_time - countdown_time_table.minute * 60
    else
        countdown_time_table.hour = 0
        countdown_time_table.minute = 0
        countdown_time_table.second = countdown_time
    end
    if countdown_time > 0 then
        self.text_countdown_time.text = self:local_time_format(countdown_time_table)
    else
        self.text_countdown_time.text = "00:00:00"
    end
end

--格式化时间:00:00:00
function time_transition:local_time_format(time_table)
	local str_time = ""
	if time_table.hour then
		if time_table.hour >= 0 and time_table.hour < 10 then
			str_time = string.format("0%d" ,time_table.hour)
		else
			str_time = string.format("%d" ,time_table.hour)
		end
	end
	if time_table.minute then
		if time_table.minute >= 0 and time_table.minute < 10 then
			str_time = string.format("%s:0%d" ,str_time ,time_table.minute)
		else
			str_time = string.format("%s:%d" ,str_time ,time_table.minute)
		end
	end
	if time_table.second then
		if time_table.second >= 0 and time_table.second < 10 then
			str_time = string.format("%s:0%d" ,str_time ,time_table.second)
		else
			str_time = string.format("%s:%d" ,str_time ,time_table.second)
		end
	end
	return str_time
end

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Unity]Lua本地时间、倒计时和正计时。 的相关文章

  • 错误 main.lua:23:尝试索引 upvalue 'Menu' (布尔值)

    我正在尝试用 lua 和 love2d 制作一个主菜单 这是我第一次这样做 遗憾的是没有关于此事的教程 所以我自己尝试了一下 我一直遇到这个错误 我不知道如何解决它 请帮助 完整错误消息 错误main lua 23 尝试索引upvalue
  • 访问 Lua 类型元表

    显然 getmetatable 可以访问几种类型的元表 getmetatable getmetatable getmetatable newproxy true 然而 似乎您无法获取其他类型的元表 除了函数 似乎无法访问数字 布尔值或 ni
  • 覆盖 require 后调用 lua_getfield() 时崩溃

    这个问题与 Henri Menke 在这个问题中的回答相关 如何在 C 中获取预加载模块名称 https stackoverflow com questions 51510308 how to get preloaded module na
  • 在 lua 中使用相等运算符比较数字有多安全?

    在我的引擎中 我有一个用于脚本编写的 Lua VM 在脚本中 我写了这样的内容 stage stage 1 if stage 5 then end and objnum tonumber 5 if stage objnum 根据 Lua 来
  • 创建独立的 Lua 可执行文件

    有没有一种简单的方法可以从 Lua 脚本创建独立的 exe 文件 基本上这将涉及链接 Lua 解释器和脚本 我相信这是可能的 PLT 方案允许以相同的方式创建独立的可执行文件 但是到底是如何实现的呢 查看srlua http www tec
  • Lua 和序列化闭包

    我正在尝试序列化和反序列化 Lua 闭包 我的基本理解是下面的工厂应该生成闭包 并且Lua在函数和闭包之间没有太多区别 即没有类型 闭包 gt function ffactory x return function return x end
  • Lua 如何创建可用于变量的自定义函数?

    对于像 io close 这样的方法 你可以像这样使用它 file close 有没有办法创建一个像这样工作的自定义函数 您可以在变量上调用它 对我来说 我尝试使用它通过使用 string find 查找空格来将参数与文本文件分开 所以在文
  • Redis 排序集和解决关系

    我正在使用 Redis 排序集来存储我正在处理的项目的排名 我们没有预料到 我们想要如何处理关系 Redis 按字典顺序对具有相同分数的条目进行排序 但我们想要做的是对具有相同分数的所有条目给予相同的排名 例如在以下情况 redis 127
  • Lua-迭代嵌套表

    我已经学习 Lua 几个星期了 这一次又一次成为我的症结所在 我尝试阅读有关该主题的帖子和书籍 我使用 Lua 查询软件监控系统 Nimsoft 我的数据以表格形式返回给我 我不会发布整个输出 但这里有一个我认为可以描述结构的片段 表参考是
  • 如何在 Lua 中实现 OO?

    Lua 没有内置对 OO 的支持 但它允许您自己构建它 您能否分享一些实现面向对象的方法 请为每个答案写一个例子 如果您有更多示例 请发布另一个答案 我喜欢将 OOP 视为容器 对象 内的数据封装以及可以使用该数据完成的操作子集 还有很多内
  • Lua userdata:无法同时进行数组访问和方法

    我遇到了这个人的问题 Lua userdata数组访问及方法 https stackoverflow com questions 26970316 lua userdata array access and methods 其中 当我设置用
  • 如何在Conky中实现一个基本的Lua功能?

    我正在尝试向我的 Conky 添加一个函数 该函数打印字符串的长度以用于调试目的 代码位于名为的文件内test lua 非常简单 function test word return string len word end 我这样加载它 在我
  • 使用 FastCGI 运行 Lua 脚本

    我目前正在尝试找出使用 FastCGI 与 lighttpd 或 Nginx 一起运行 Lua 脚本的方法 我唯一能挖到的是WSAPI http keplerproject github com wsapi 开普勒计划的一部分 但我想知道是
  • 如何在lua中获取shell脚本的返回码?

    我正在lua中执行一个脚本 os execute sh manager scripts update system sh f 我想获得脚本的输出 如果退出状态为 7 则返回 7 I tried local output os execute
  • 如何通过 C API 在自己的环境中执行不受信任的 Lua 文件

    我想通过调用在其自己的环境中执行不受信任的 lua 文件lua setfenv http pgl yoyo org luai i lua setfenv这样它就不会影响我的任何代码 该函数的文档仅解释了如何调用函数 而不解释如何执行文件 目
  • LuaJ 导入 Lua 方法

    我正在使用 LuaJ 并且我有一个 lua文件充满了一堆函数 如何通过 LuaJ 导入这些函数以在 Java 中使用 一种选择是将文件编译为 Java 代码并导入它 另一种方法是使用可嵌入解释器直接从 Java 代码中调用 Lua 文件 E
  • gsub 的转义字符串

    我读了一个文件 local logfile io open log txt r data logfile read a print data output n w r 1 2 n t x re S 是的 日志文件看起来很糟糕 因为它充满了各
  • Lua 上的 For 循环

    我的作业是如何执行 for 循环 我已经从数字上弄清楚了 但无法从名称上弄清楚 我想创建一个 for 循环来运行名称列表 以下是我到目前为止所拥有的 names John Joe Steve for names 1 3 do print n
  • 如何使用 Lua 运行可执行文件?

    我有一个可执行文件想要使用 Lua 运行 我该怎么做 似乎无法在任何地方找到有关此的任何文档 您可以使用 Lua 原生的 执行 命令 Example os execute c temp program exe 资料来源 Lua 指南 os
  • Lua表在内存中是如何处理的?

    lua如何处理表的增长 是否相当于ArrayList在Java中 IE 需要连续的内存空间 并且当它变得大于已经分配的空间时 内部数组被复制到另一个内存空间 有什么聪明的方法来引导吗 我的问题是 表是如何存储在内存中的 我不是问如何在 Lu

随机推荐

  • C 标准库 - 《math.h》

    原文链接 https www runoob com cprogramming c standard library math h html 简介 math h 头文件定义了各种数学函数和一个宏 在这个库中所有可用的功能都带有一个 doubl
  • 安卓开发 常用的控件

    Android中提供了大量的UI控件 下面我们学习几种比较常用的控件 TextView 在界面上显示一段文本信息
  • Elasticsearch 5.4.x 版本的 scroll demo用法

    要使用 Java 实现 Elasticsearch 5 4 x 的滚动导出 您可以使用 Elasticsearch 的 Java 高级客户端进行操作 以下是一个简单的示例代码 首先 您需要确保已经添加了 Elasticsearch 的 Ja
  • 100g光模块厂家排名_交换机如何通过光模块实现100G与10G/25G/40G互连?

    QSFP28封装以更小的体积 功耗和价格优势 成为了100G主流光模块 在实际应用中 我们应该如何解决100G端口与40G 25G 10G端口互连的需求呢 下面易天光通信 ETU LINK 就给大家介绍几种常见的方案 深圳易天光通信有限公司
  • 科学认识手机充电问题

    目录 导语 关于手机充电 一 纠正几点认知 二 最常见的不良充电习惯 三 正确的充电方式 四 名词解释 导语 关于手机充电 手机电量越来越不耐用 坏的充电习惯会对手机电池产生诸多不良影响 生活中处处皆学问 记录一下 印象深刻 一 纠正几点认
  • pytorch1.7教程实验——分类器训练

    近来想大致总结一下自己知识学习的脉络 发现自己除了大量的工程经验外 对模型算法的研究还是不够深入 而且大多都是关于目标检测方向 锚框或非锚框以及transformer 其他的涉猎不足 认识不够清晰 而且目标检测网络现在要自己单独构建写一个出
  • VMware 安装 win7、win10、MAC 和网络模式VMnet0、VMnet1、VMnet8解释

    VMware 虚拟机安装ghost win7系统方法 http www xitongcheng com jiaocheng xtazjc article 15314 html VMWare 安装Mac OS系统 https blog csd
  • [TRPO] Trust Region Policy Optimization

    论文链接 http proceedings mlr press v37 schulman15 引用 Schulman J Levine S Abbeel P et al Trust region policy optimization C
  • git 保护分支

    问题描述 推送dev分支报错 该分支受保护 git push Enumerating objects 9 done Counting objects 100 9 9 done Delta compression using up to 8
  • 数字技术的优点

    数字技术之所以能够广泛应用 主要因为数字电路与模拟电路相比 有许多优点 抗干扰能力强 数字电路能够在相同的输入条件下精确地产生相同的结果 而模拟电路容易受到温度 电源电压 噪声 辐射和元器件老化等因素的影响 在相同的输入条件下输出结果可能会
  • google翻译的一个错误

    如图 音标标着yi朗读却是ai
  • 需要多表连接查询时该怎么弄(一对多的情况)

    第一步 一对多时应该在 一的类中 添加 多的类 的集合变量 例 通过部门号来查询特定的部门 以及该部门中所有的职工 这时需要在dept类中新增一个集合变量 第二步 开始写具体代码 方法一 通过连接查询 左外连接 一次到位 方法二 分步查询
  • ReactNative ListView + 上拉加载更多 + 下拉刷新

    ListView 上拉加载更多 下拉刷新 一 内容简介 ListView列表在添加了上拉加载更多功能之后再添加下拉刷新 二 代码实现 1 引入原生组件 RefreshControl import ListView View Text Act
  • mysql表的约束

    目录 一 表的约束分类 1 not null 非空 输入的数据内容不能为空 2 unique key 唯一键 输入的数据可以为null或者跳过赋予他的值 但是如果输入数据不能相同 3 primary key 主键 每个表中必须有唯一的主键
  • matlab编写dbscan聚类

    在Matlab中编写DBSCAN聚类的方法有很多种 一种常用的方法是手动编写代码 下面是一个简单的DBSCAN示例 function labels nClusters dbscan data eps MinPts data 数据点 eps
  • Qt 使用QInputDialog弹出输入框获取用户输入数据

    简要说明 在开发Qt程序的过程中 我们可能会需要在程序中弹出输入框 并且获取用户输入的数据 一种比较麻烦的做法就是新建一个对话框类 然后在主界面中调用对话框类 获取返回值 使用QInputDialog对话框类可以通过访问不同的接口函数 弹出
  • php导出数据xlsx

    lists 二维数组 public function xlsx lists 生成文件名 date date Y m d H i s time fileName XXXX date xlsx 头部标题 xlsx header array 序号
  • Java Springboot--swagger配置

    文章转载自 第一步 配置pom xml文件
  • 视线估计(Gaze Estimation)简介概述

    PaperWeekly 原创 作者 俞雨 单位 瑞士洛桑联邦理工学院博士 研究方向 视线估计 头部姿态估计 本文七个篇章总计涵盖 29 篇论文 总结了自深度学习以来 视线估计领域近五年的发展 概述 1 1 问题定义 广义的 Gaze Est
  • [Unity]Lua本地时间、倒计时和正计时。

    惯例 直接上代码 正计时开始时的时间戳 self begin time os time 倒计时时长 01 30 00 self countdown time 5400 是否开始计时 self is update local time tru