在cocos2dx中,游戏往往是由多个画面组成,而一个画面又往往由多个层组成。画面切换是游戏中经常要用到的。
画面切换首先需要创建两个画面类,在生成项目的时候已经生成了一个画面,然后再新建一个画面类。复制HelloWorld.cpp和HelloWorld.h这两个文件,然后修改他们的名称,修改为GameScene.cpp和GameScene.h,最后将他们添加到项目中,并且也要添加到你的工作项目下的Class文件夹下。以我的为例,如图:
下面开始介绍画面切换的相关内容。切换画面时可以使用replaceScene()方法,也可以使用pushScene(),popScene()方法。这两种方法有些区别。
replaceScene()
调用replaceScene()方法切换画面时,先创建新画面并切换,然后将之前的画面从内存中删除。比如,从A切换到B后,A被删除,再次切换到A时,会重新再内存中创建A,切换到A后,B就会被从内存中删除。这样,切换画面时不使用的画面类会从自存中删除,这样极大的提高了内存的使用效率,但同时带来了一些问题。比如,需要将画面切换到之前的画面时,需要重新创建一个新的画面,而且是全新的,以前的画