场景切换相关问题

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


 
 

 
 
 
 

这样结构,切换当前场景也不至于报错


个人观点,欢迎指正!!!

猜你喜欢

转载自blog.csdn.net/csdn_xiao/article/details/52776867