function GameApp:updateLoadRes()
local PLIST_FILE = {
"plist/beforeGameAni.plist",
"plist/item.plist",
"plist/addsub_ani.plist",
"plist/other_ani.plist",
"plist/po_ani.plist",
"plist/tractor_ani.plist",
"plist/prop.plist",
"plist/match.plist",
"plist/box.plist",
"plist/count.plist",
}
local loadResNum = 0
local updateTimes = 0
local nowLoadNums = 0
local scheduleListener = 0
local function updateLoad(dt)
updateTimes = updateTimes + 1
if updateTimes % 4 == 0 then --每四帧加载一次
nowLoadNums = nowLoadNums + 1
cc.SpriteFrameCache:getInstance():addSpriteFrames(PLIST_FILE[nowLoadNums])
if #PLIST_FILE <= nowLoadNums then
cc.Director:getInstance():getScheduler():unscheduleScriptEntry(scheduleListener)
scheduleListener = nil
end
end
end
scheduleListener = cc.Director:getInstance():getScheduler():scheduleScriptFunc(updateLoad , 0 , false)
end
本文介绍了一种在游戏中实现资源渐进加载的方法,通过每四帧加载一次资源的方式,避免了游戏启动时的大规模资源加载导致的延迟,提高了游戏的流畅性和用户体验。此方法使用Lua脚本控制,通过cc.SpriteFrameCache接口加载精灵帧,实现了资源的平滑加载。
5737

被折叠的 条评论
为什么被折叠?



