quick项目中经常会用到场景切换,也就会涉及到相应场景资源的加载和释放;
1、两个场景之间切换的顺序:
B_ctor
A_onExitTransitionStart
B_onEnter
A_onExit
B_onEnterTransitionFinish
A_onCleanUp
2、问题:
review其他成员代码时,发现代码结构有问题;
用切换同一场景(A->A)举例,如:在构造中定义非空的全局变量,在onExitTransitionStart/Exit/onCleanUp中置空变量,导致第二场景使用变量时报错;
3、方案:
全局变量可以不置空,当人感觉最好置空;
场景中代码结构:
function A:ctor()
-- require(model)
end
function A:onEnter()
-- init data
-- init config
-- init layer
-- ...
end
function A:onEnterTtransitionFinish()
end
function A:onExitTtransitionStart()
-- stop actions
-- stop sounds
-- remove children
-- remove cache
-- remove data
end
function A:onExit()
end
function A:onCleanUp()
end
这样结构,切换当前场景也不至于报错
个人观点,欢迎指正!!!