cocos2dx lua 一些公共方法

2021-06-26 11:38:47 字數 2979 閱讀 6576

function getstringtimeforint(timeint)

if(tonumber(timeint) <= 0)then

return "00:00:00"

elseif(timeint/60 >= 60)then

return string.format("%.2d:%.2d:%.2d",timeint/3600,(timeint/60)%60,timeint%60)

elseif(timeint >= 60)then

return string.format("00:%.2d:%.2d",(timeint/60)%60,timeint%60)

else

return string.format("00:00:%.2d",timeint%60)

endend

-- 將乙個時間數轉換成"00:00:00"格式

function gettimestring(timeint)

if(tonumber(timeint) <= 0)then

return "00:00:00"

else

return string.format("%02d:%02d:%02d", math.floor(timeint/(60*60)), math.floor((timeint/60)%60), timeint%60)

endend

-- 將乙個時間數轉換成"00時00分00秒"格式

function gettimestringfont(timeint)

if(tonumber(timeint) <= 0)then

return "00時00分00秒"

else

return string.format("%02d時%02d分%02d秒", math.floor(timeint/(60*60)), math.floor((timeint/60)%60), timeint%60)

endend

-- ngentime: 產生時間戳(也可以是乙個未來的時間,比如cd時間戳)

-- nduration: 固定的有效期間,單位秒,計算某個未來時間的剩餘時間時不需要指定

-- 返回3個結果,第乙個是剩餘到期時間的字串,"hh:mm:ss", 不足2位自動補零;第二個是bool,標識ngentime是否到期;第三個是剩餘秒數

function expiretimestring( ngentime, nduration )

local nnow = btutil:getsvrtimeinterval()

--cclualog("ngentime = " .. ngentime .. " nnow = " .. nnow)

local nviewsec = (nduration or 0) - (nnow - ngentime)

return gettimestring(nviewsec), nviewsec <= 0, nviewsec

end--得到乙個時間戳timeint與當前時間的相隔天數

--offset是偏移量,例如凌晨4點:4*60*60

--return type is integer, 0--當天, n--不在同一天,相差n天

function getdifferday(timeint, offset)

timeint = tonumber(timeint or 0)

offset = tonumber(offset or 0)

local curtime = tonumber(btutil:getsvrtimeinterval()) - offset

if(os.date("%j",curtime) == 1 and os.date("%j",timeint - offset) ~= 1)then

return os.date("%j",curtime) - (os.date("%j",timeint - offset) - os.date("%j",curtime-24*60*60))

else--if(os.date("%j",curtime) ~= os.date("%j",timeint - offset))then

return os.date("%j",curtime) - os.date("%j",timeint - offset)

endend

-- 指定乙個日期時間字串,返回與之對應的東八區(伺服器時區)時間戳

-- stime: 格式 "2013-07-02 20:00:00"

function getintervalbytimestring( stime )

local t = string.split(stime, " ")

local tdate = string.split(t[1], "-")

local ttime = string.split(t[2], ":")

local tt = os.time()

local ut = os.date("!*t", tt)

local east8 = os.time(ut) + 8*60*60 -- utc時間+8小時轉為東八區北京時間

return east8

end--給乙個時間如:153000,得到今天15:30:00的時間戳 

function getintervalbytime( time )

local curtime = btutil:getsvrtimeinterval()

local temp = os.date("*t",curtime)

local h,m,s = string.match(time, "(%d%d)(%d%d)(%d%d)" )

local timestring = temp.year .."-".. temp.month .."-".. temp.day .." ".. h ..":".. m ..":".. s

local timeint = timeutil.getintervalbytimestring(timestring)

return timeint

end

Cocos2d x Lua基本操作

1.lua庫引用 目錄新增 lua lua luajit include lib新增 lua51.lib 2.開啟lua庫 示例 lua state pl lua open luaopen base pl luaopen math pl luaopen string pl 3.讀取lua值 示例 1...

cocos2dx lua優化總結

渲染效率 紋理格式 執行效率 記憶體 包大小 cpp view plain copy 安卓啟用4444紋理 iftargetplatform cc.platform os android then cc.texture2d setdefaultalphapixelformat cc.texture2...

Cocos2dx lua 啟動流程

cocos2dx 版本 3.x,工具 vs2013 babelua外掛程式 1.lua工具,babelua 2.cocos2dx 建立lua工程 windows 7下,配置好cocos2dx環境後,使用命令列建立專案。cocos new mylua1 p com.your company.mygam...