Cocos2d-x游戏开发实战精解
上QQ阅读APP看书,第一时间看更新

2.2 让场景显示出来

现在直接在Visual Studio中运行刚创建的程序,结果如图2-2所示,可以看到这与上一章默认生成的项目并没有什么区别,这是因为虽然已经新建了一个类MyScene,却并没有将新的内容添加到屏幕中去。那么怎样将MyScene加入到屏幕中去呢,这就要从AppDelegate.cpp文件下手了。

图2-2 直接运行程序的结果

在文件AppDelegate.cpp中可以找到对applicationDidFinishLaunching方法的定义,在其最末尾处可以看到如下代码:

auto scene = HelloWorld::createScene();
director->runWithScene(scene);

将其修改为:

auto scene =MyScene::createScene();
director->runWithScene(scene);

再运行程序,就可以得到如图2-3所示的结果了。这时可以看到屏幕上已经变成空白的了(即使它左下角还有一些奇怪的东西并且其实它是黑色的),那么为什么它变成空白的了呢?这里就要回过头来看范例2-2的第16行注释处了,对比HelloWorldScene.cpp文件的相同位置就不难认识到,屏幕中的各个元素就是在这个地方加入的,由于本例中什么也没有加入,所以它才会黑洞洞的。

图2-3 修改后的程序运行结果

接下来再看图2-2和图2-3左下角那一串奇怪的数字,曾经使用过鲁大师等跑分软件的读者应该对它不陌生,这是用来显示游戏帧数信息的,在游戏完成后最好是能把它去掉。方法就是在AppDelegate.cpp中找到这一句代码:

director->setDisplayStats(true);

将其中的参数改为false就可以了:

director->setDisplayStats(false);

另外,在接下来的代码中,有这样一句:

director->setAnimationInterval(1.0 / 60);

它的作用是设置屏幕的fps,fps又叫做每秒传输帧数,即屏幕每秒刷新的次数,默认为每秒60次。再顺着代码向上看,就可以看到如下代码:

glview = GLViewImpl::create("My Game");

可以通过修改create方法中的参数来改变窗口的标题。需要注意的是,如果在此处直接输入中文会因为编码错误而显示乱码,需要使用iconv库来解决。此外,还可加入如下代码来修改窗口的尺寸和形状:

glview->setFrameSize(640,360);

提示:此次所使用的例子可以在源文件中本章目录下的“CocosProject01”项目中查看。