cocos2d学习之旅(一)

经过前边复杂的环境配置,相信大家一定很期待自己的第一个项目吧。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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值