【Cocos2d-X游戏实战开发】捕鱼达人之开始场景的创建(三)

时间:2023-02-09 13:34:05

本系列学习教程使用的是cocos2d-x-2.1.4(最新版为cocos2d-x-2.1.5)   

 

 

博主发现前两个系列的学习教程被严重抄袭,在这里呼吁大家请尊重开发者的劳动成果,

转载的时候请务必注明出处:http://blog.csdn.net/yangyu20121224/article/details/11397899

     

 

      经过前两篇文章的学习和铺垫,从这一章开始,我们终于可以看到游戏项运行

效果了。今天,博主依然会手把手的教大家实现一个开始场景的创建,我们首先要做的

就是在这个场景中显示背景和标题栏,这是进入到游戏界面中最直观的感受,随后,我

们也会围绕这个场景继续添加更多的元素。话不多说,们一起开始游戏世界的创

建吧。

 

 

 

一、类的创建

 

1、这里我们创建一个场景类,取名为“StartScene”。

 

【Cocos2d-X游戏实战开发】捕鱼达人之开始场景的创建(三)

 

 

2、然后再删除项目创建时自带的“HelloWorldScene.h”和“HelloWorldScene.cpp”两个文件。

 

【Cocos2d-X游戏实战开发】捕鱼达人之开始场景的创建(三)

 

 

二、项目编码

 

 

1、在刚刚新建的StartScene类中添加代码。

 

<1> StartScene.h头文件。

#ifndef __FishingJoy__StartScene__
#define __FishingJoy__StartScene__

#include "cocos2d.h"

USING_NS_CC;

class StartLayer : public cocos2d::CCLayer
{
public:
    static CCScene* scene();
    
	bool init();
    
	CREATE_FUNC(StartLayer);
};
#endif

 

<2> StartScene.cpp文件。

#include "StartScene.h"
#include "StaticData.h"
#include "FishingJoyData.h"

USING_NS_CC;

CCScene* StartLayer::scene()
{
	//创建开始场景
    CCScene* scene = CCScene::create();

	//创建开始图层
    StartLayer* layer = StartLayer::create();

	//添加图层至场景中
    scene->addChild(layer);

    return scene;
}

bool StartLayer::init()
{
    if(!CCLayer::init()){             
        return false;
    }

	//获得窗口尺寸大小
	CCSize winSize = CCDirector::sharedDirector()->getWinSize();
        
	//创建背景图片精灵
    CCSprite* background = CCSprite::create(STATIC_DATA_STRING("background"));
	//设置精灵位置
    background->setPosition(CCPointMake(winSize.width*0.5, winSize.height*0.5));
	//添加精灵至图层
    this->addChild(background);
        
	//创建标题图片精灵
    CCSprite* title = CCSprite::create(STATIC_DATA_STRING("title"));
	//设置精灵位置
    title->setPosition(CCPointMake(winSize.width*0.5, winSize.height*0.7));
	//添加精灵至图层
    this->addChild(title);	

    return true;
}


 

2、然后在AppDelegate.cpp文件的applicationDidFinishLaunching函数中修改代码使其运行我们刚刚新建的开始场景

并且关闭默认显示的FPS。

bool AppDelegate::applicationDidFinishLaunching()
{
    //创建导演类
    CCDirector *pDirector = CCDirector::sharedDirector();
    pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());

    //设置是否显示FPS
    pDirector->setDisplayStats(false);

    //设置FPS,如果步调用则默认值是1.0/60
    pDirector->setAnimationInterval(1.0 / 60);

    //创建开始场景
    CCScene *pScene = StartLayer::scene();

    //运行开始场景
    pDirector->runWithScene(pScene);

    return true;
}

 

3、最后别忘了在static_data.plist文件中添加读取图片的路径,否则程序会报异常。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>default_gold</key>
	<string>200</string>
	<key>title</key>
	<string>title.png</string>
	<key>background</key>
	<string>background.png</string>
	</dict>
</plist>


 

4、运行效果图。

 

【Cocos2d-X游戏实战开发】捕鱼达人之开始场景的创建(三)

 

 

 

源码下载地址(百度云)