update test script

This commit is contained in:
Kirigaya Kazuto 2019-08-07 18:35:28 +08:00
parent 8d7d52677a
commit 38a9808460

View File

@ -4,6 +4,14 @@ font = Font("asserts/msyh.ttf", 18)
musicPlayer = MusicPlayer()
music = Music("asserts/mp3/bgm1.mp3")
function Point(x, y)
return {x=x,y=y,type="point"}
end
function Rect(x,y,w,h)
return {x=x,y=y,w=w,h=h,type="rect"}
end
all_bqb = fs.listdir("asserts/bqb_all")
@ -16,6 +24,43 @@ setmetatable(texture_track, {
__mode = "k"
})
texture_gc_limit_min = 20
texture_gc_limit = 20
texture_gc_activate = false
-- Gloabl gc timer
local function global_texture_cleaner()
local cnt = 0
for k in pairs(texture_track) do
cnt = cnt + 1
end
print ("Tracked texture: ", cnt, texture_gc_limit)
if cnt > texture_gc_limit then
collectgarbage("collect")
if texture_gc_activate then
texture_gc_limit = texture_gc_limit * 2
else
texture_gc_activate = true
end
else
if not texture_gc_activate then
texture_gc_limit = (texture_gc_limit - 1) > texture_gc_limit_min and (texture_gc_limit - 1) or texture_gc_limit_min
else
texture_gc_activate = false
end
end
wnd:setTimeout(global_texture_cleaner, 1000)
end
wnd:setTimeout(global_texture_cleaner, 1000)
-- Global garbage maker
local function global_garbage_maker()
texture_track[rnd:loadTexture("asserts/bqb_all/" .. all_bqb[math.random(#all_bqb)].name)] = true
wnd:setTimeout(global_garbage_maker, 1)
end
wnd:setTimeout(global_garbage_maker, 1)
wnd:setTimeout(function()
print("Playing music")
musicPlayer:play(music)
@ -27,7 +72,6 @@ wnd:on('click', function(x, y)
local t = font:renderText(rnd, string.format("%.0f,%.0f", x, y), {r=255,g=255,b=255,a=0,type="color"})
texture_track[t] = true
rnd:copyTo(t, {x=x,y=y,type="point"})
t:close()
rnd:update()
end)
wnd:on('quit', function()
@ -54,13 +98,13 @@ wnd:on('keydown', function(key)
local t = rnd:loadTexture("asserts/bqb_all/" .. all_bqb[math.random(#all_bqb)].name)
texture_track[t] = true
rnd:copyTo(t, {x=0,y=0,type="point"})
t:close()
rnd:update()
end)
xpcall(function()
wnd:start()
end, function()
end, function(err)
print("LuaMain Exception: ", err)
print(debug.traceback())
end)