设计一个为`BaseSceneLoad` class,用于处理场景加载的相关操作 ,主要作用是提供了一个通用的场景加载框架,使得子类可以按照统一的接口进行场景加载操作。子类需要实现这些方法,以便在加载场景时能够正确地处理场景加载的各个阶段。
以下是对这些方法的解释:
1. `initialize()`:在加载场景之前进行初始化操作。
2. `startLoadingScene(curScene)`:开始加载场景。`curScene`是当前场景的引用,子类可以利用这个参数进行场景加载操作。
3. `disposeLoadingScene()`:在加载场景完成后进行清理操作。
4. `isLoadingSceneReady()`:判断场景加载是否完成。返回一个布尔值,表示场景是否已经加载完成。
5. `getLoadingSceneProgress()`:获取场景加载的进度。返回一个数字,表示场景加载的进度百分比。
6. `startPreLoadNewScene(curscene)`:开始预加载下一个场景。`curscene`是当前场景的引用,子类可以利用这个参数进行场景预加载操作。
7. `getScenePrefab()`:获取下一个场景的预设。
8. `isNewSceneLoadReady()`:判断新场景加载是否完成。返回一个布尔值,表示新场景是否已经加载完成。
9. `getNewSceneLoadProgress()`:获取新场景加载的进度。返回一个数字,表示新场景加载的进度百分比。
10. `onLoadingPanelOpen()`:加载面板打开时的回调函数。
11. `onSceneEnterForeground()`:场景进入前台的回调函数。
12. `dispose()`:释放资源。
13. `destoryPreDispose()`:在完全释放之前进行处理。
14. `destoryDispose()`:完全释放资源。
代码如下:
---@class BaseSceneLoad
local BaseSceneLoad = class("BaseSceneLoad")
function BaseSceneLoad:initialize()
end
function BaseSceneLoad:startLoadingScene(curScene)
assert(false, "警告子类未实现")
end
function BaseSceneLoad:disposeLoadingScene()
assert(false, "警告子类未实现")
end
---@return boolean
function BaseSceneLoad:isLoadingSceneReady()
assert(false, "警告子类未实现")
end
---@return number
function BaseSceneLoad:getLoadingSceneProgress()
assert(false, "警告子类未实现")
end
function BaseSceneLoad:startPreLoadNewScene(curscene)
assert(false, "警告子类未实现")
end
function BaseSceneLoad:getScenePrefab()
assert(false, "警告子类未实现")
end
---@return boolean
function BaseSceneLoad:isNewSceneLoadReady()
assert(false, "警告子类未实现")
end
---@return number
function BaseSceneLoad:getNewSceneLoadProgress()
assert(false, "警告子类未实现")
end
function BaseSceneLoad:onLoadingPanelOpen()
assert(false, "警告子类未实现")
end
function BaseSceneLoad:onSceneEnterForeground()
assert(false, "之类未实现")
end
function BaseSceneLoad:dispose()
assert(false, "警告子类未实现")
end
-- 完全释放前处理
function BaseSceneLoad:destoryPreDispose()
assert(false, "警告子类未实现")
end
-- 完全释放
function BaseSceneLoad:destoryDispose()
assert(false, "警告子类未实现")
end
return BaseSceneLoad
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » lua 游戏架构 之 SceneLoad场景加载(一)
发表评论 取消回复