cocos2d学习之旅(一)

来源:互联网 发布:iphone虚拟机型软件 编辑:程序博客网 时间:2024/06/16 02:01

经过前边复杂的环境配置,相信大家一定很期待自己的第一个项目吧。Here we go!

和以前所有的程序一样,我们的第一个程序仍然是Hello World 。我们将上一篇博客中提到的demo打开,在那个目录下找到cpp-empty-test的一个文件,将其设置为启动项,具体方法是选中右键,单击设置启动项即可,这样我们就可以在VS运行,结果就会弹出窗口,显示的就是我们cocos2d的外星人图案啦,是不是非常的简单呢。


前边我介绍的都是直接跑已有的demo,大家是不是觉得不过瘾呢?下面我们就自己来新建一个属于我们自己的项目。这个工作可能就没有之前直接运行别人的代码这么容易了,但是大家也不要着急,这就是学习的过程,每个人都难以避免的。

 首先,我们将前边装好的Python设置进环境变量(已经做过的可以忽略我),我的电脑->右键属性->高级系统设置->环境变量,将Python的路径粘贴进变量值中,这就算是成功了,我们可以在命令行里输入Python,如果没有报错证明我们这一步的配置成功了。之后再打开命令行输入 cocos new HelloWorld -p com.benmutou.helloworld -l cpp -d yourowndir   之后回车,就会成功的运行,可能会有些慢,因为需要建立的文件比较多而且比较大,请耐心等待。

注意最后-d后边的是你自己选择要把项目建在哪里的路径地址,可以根据自己情况修改。

之后,我们有两种方法来运行我们自己的Hello World 。第一种,进入我们自己设置的项目的目录下的HelloWorld.sln文件,直接运行即可,编译成功仍然会看到我们cocos2d图标的外星人图样;第二种,用命令行进入自己项目的路径下之后输入cocos run -p win32然后回车,效果应该和第一种一样,注意这个过程仍然会比较缓慢,这与电脑本身有关,笔者这个过程用了十几分钟,所以时间长一点也属于正常,并不是异常。至此,我们已经新建并运行了我们自己的第一个项目了。


下面来分析一下整个程序。首先一旦建立一个cocos2d的项目就默认建立了一个HelloWorld的场景,我们都知道cocos2d的效果是能动起来,生动形象,那么是怎么动的呢,其实就像是动画片一样,一帧一帧的快速播放,就好像是动了起来,这与视频的单利极为相似,我们可以打开APPDelegate.cpp这个文件

<span style="font-size:18px;">bool AppDelegate::applicationDidFinishLaunching() {    // initialize director    auto director = Director::getInstance();    auto glview = director->getOpenGLView();    if(!glview) {        glview = GLViewImpl::create("My Game");        director->setOpenGLView(glview);    }    // turn on display FPS    director->setDisplayStats(true);    // set FPS. the default value is 1.0/60 if you don't call this    director->setAnimationInterval(1.0 / 60);    register_all_packages();    // create a scene. it's an autorelease object    auto scene = MyHelloWorldScene::createScene();    // run    director->runWithScene(scene);    return true;}</span>

<span style="font-size:18px;">director->setDisplayStats(true);</span>
表示是否在画面上显示帧数

<span style="font-size:18px;">director->setAnimationInterval(1.0 / 60);</span>
这个是设置游戏帧数

<span style="font-size:18px;">auto scene = MyHelloWorldScene::createScene();</span>
创建了一个场景

<span style="font-size:18px;"> director->runWithScene(scene);</span>
这个让场景显示出来,非常重要,必不可少的一步


简单的介绍之后,我们来详细看看HelloWorld.h和.cpp的代码


<span style="font-size:18px;">Scene* HelloWorld::createScene(){    // 'scene' is an autorelease object    auto scene = Scene::create();        // 'layer' is an autorelease object    auto layer = HelloWorld::create();    // add layer as a child to scene    scene->addChild(layer);    // return the scene    return scene;}</span>

这个就是createScene函数的实现方法,先建了一个scene(场景)之后建了一个layer(层)再把layer添加到场景里,这个过程很像是javafx的用法(没用过的就算我没说...)


总体来说过程是这样的:

1.通过

<span style="font-size:18px;">auto scene = Scene::create();</span>
创建一个场景

2.将layer添加到场景里

3.HelloWorld对象通过create创建,而create函数是由宏来定义的

4.通过

<span style="font-size:18px;"> director->runWithScene(scene);</span>

<span style="font-size:18px;">让场景显示到窗口上我们可以自己在实践一下,右键点击建好的HelloWorld项目,选择添加 新建项,添加新的cpp和.h文件,注意添加到class目录下,名字自己起一个新的。我们可以模仿着自己写HelloWorld程序了,当然我们可以选择换我们自己喜欢的图片来进行替换,图片的资源在resource里边,这个是相对路径,因此我们直接将我们想用的图片放进resource里,然后在程序里直接调这名字即可。下面我们可以像刚才一样运行就可以了,不出意外我们会看到自己喜欢的那张图片。</span>



0 0
原创粉丝点击