cocos2d-x 3.0游戏实例学习笔记 《跑酷》第一步--- 开始界面

来源:互联网 发布:java服务端开发 编辑:程序博客网 时间:2024/06/05 15:45

说明:这里是借鉴:晓风残月 前辈的博客,他是将泰然网的跑酷教程,用cocos2d-x 2.X 版本重写的,目前我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记

开始界面和前辈的基本上差不多:cocos2d-x游戏开发 跑酷(一)开始界面     但是也有不同

首先你得自己先新建一个项目,我们从头开始

下面先给出游戏过程中用到的所有资源

到今天8-1号,整个游戏已经完成重写。。后面也给出所有代码和资源,以及整个项目都打包好的地址,或者你愿意跟着我的笔记一步一步来的话,在这里下面给出所有资源的百度云下载地址

开始界面定义为:MainScene 有如下功能:

1.背景

2.进入游戏界面按钮

3.预先加载背景音乐文件

.h文件

#ifndef __MainScene__H__#define __MainScene__H__#include "cocos2d.h"class MainScene : cocos2d::Layer{public:virtual bool init();static cocos2d::Scene* scene();CREATE_FUNC(MainScene);private://void createBG();//void createButton(cocos2d::Point centerPoint);//void preLoadMusic();//menu start the gamevoid start();};/**/#endif
.cpp
#include "MainScene.h"#include "SimpleAudioEngine.h"//#include "PlayScene.h"USING_NS_CC;using namespace CocosDenshion;Scene* MainScene::scene(){Scene* scene = Scene::create();Layer* layer = MainScene::create();scene->addChild(layer);return scene;}bool MainScene::init(){if(!Layer::init()){return false;}//preloadMusicpreLoadMusic();//create backgroundcreateBG();return true;}void MainScene::createBG(){auto winSize = Director::getInstance()->getWinSize();auto centerPoint = ccp(winSize.width / 2, winSize.height / 2);//BGSprite* spriteBg = Sprite::create("MainBG.png");spriteBg->setPosition(centerPoint);this->addChild(spriteBg);//create buttoncreateButton(centerPoint);}void MainScene::createButton(cocos2d::Point centerPoint){//Start muttonMenuItemImage* menuItem = MenuItemImage::create("start_n.png","start_s.png",CC_CALLBACK_0(MainScene::start,this));Menu* menu = Menu::create(menuItem,NULL);menu->setPosition(centerPoint);this->addChild(menu);}void MainScene::preLoadMusic(){SimpleAudioEngine* audioEngin = SimpleAudioEngine::getInstance();audioEngin->preloadBackgroundMusic("background.mp3");audioEngin->preloadEffect("jump.mp3");audioEngin->preloadEffect("crouch.mp3");}void MainScene::start(){CCLOG("game is start !");//Scene* playScene = TransitionFade::create(1,PlayScene::createScene());//Director::getInstance()->replaceScene(playScene);}
这里由于我对屏幕自适应的知识还不够了解,虽然看过几篇文章,但是还是比较迷茫,不怎么知道运用到实例当中,所以对于这次重写中,背景图片一般都是 640*320大小的 ,所以需要在AppDelegate.cpp 当中设置显示窗口大小:

bool AppDelegate::applicationDidFinishLaunching() {    // initialize director    auto director = Director::getInstance();    auto glview = director->getOpenGLView();    if(!glview) {        glview = GLView::create("My Game");glview->setFrameSize(640,320);//------修改显示窗口大小        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);    // create a scene. it's an autorelease objectauto scene = MainScene::scene();    // run    director->runWithScene(scene);    return true;}
自己只能后面了解相关知识啦,如果有好的相关教程,麻烦推荐一下,谢谢!!

我们可以删掉HelloWorld,在AppDelegate里面替换成MainScene::scene();

运行之后如图:


游戏资源:跑酷游戏资源 ,这里已经修改成网盘地址啦,或者在下面留言留下邮箱&私信我,我就给你发种子。。哦不,发资源,游戏资源!!!每天都在


这一部分的单独项目:http://pan.baidu.com/s/1hqHwEPI

个人愚昧观点,欢迎指正与讨论大笑

8 0
原创粉丝点击