Cocos2dx學習報告2

來源:互聯網
上載者:User

標籤:學習報告   cocos2d-x   

記錄二:建立項目,其名曰DFJ(仿照打飛機)

上一個記錄我們說到開發環境的配置以及怎樣去建立自己的項目。現在我們就通過之前說所的方法來建立一個項目。這裡我就不再了。

建立了自己的項目之後,我們就可以開始動工編寫自己的代碼了。這裡我不對已有的HelloWorldScene的檔案做修改。我們自己建立自己的情境來開始我們自己的遊戲之旅。

首先在這裡說明一下,由於後面多是代碼編寫的工作,所以後面的記錄多數會用代碼的形式展示給大家,需要記錄的地方我會通過注釋來向大家說明。

----------本次記錄的任務—完成開始情境,開始介面已經開始介面到遊戲介面的跳轉。----------

在代碼開始之前,我來簡單說一下這個執行個體遊戲的大體架構結構,如。


StartScene.h

/************************************************************************//* 開始情境                                                                     *//************************************************************************/#ifndef _StartScene_h_#define _StartScene_h_/************************************************************************//* 引入需要用到的標頭檔                                                                     *//************************************************************************/#include "cocos2d.h"#include "cocos-ext.h"#include "StartLayer.h"//開始介面/************************************************************************//* 添加要用到命名空間                                                                     *//************************************************************************/using namespace cocos2d;using namespace cocos2d::extension;/************************************************************************//* 開始情境,遊戲的第一個情境,繼承CCScene                                                                     *//************************************************************************/class StartScene:public CCScene{public:/************************************************************************//* StartScene的構造                                                                     *//************************************************************************/StartScene(void);/************************************************************************//* StartScene的析構                                                                     *//************************************************************************/virtual ~StartScene(void);/************************************************************************//* StartScene的初始化,返回false則表示初始化失敗,true則表示成功                                                               *//************************************************************************/virtual bool init();/************************************************************************//* 使我們能夠通過StartScene::create()方法來建立scene                                                                     *//************************************************************************/CREATE_FUNC(StartScene);protected:private:};#endif

StartScene.cpp

#include "StartScene.h"/************************************************************************//* 建構函式,在這裡我們可以將一些需要賦初值的全域變數進行賦初值的操作                                                                     *//************************************************************************/StartScene::StartScene(void){}/************************************************************************//* 解構函式,在這個情境消亡的時候會進入這個函數                                                                     *//************************************************************************/StartScene::~StartScene(void){}/************************************************************************//* 初始化函數,在這個函數裡我們可以進行一些介面上控制項的初始擺放                                                                     *//************************************************************************/bool StartScene::init(){bool bRet = false;/************************************************************************//* 因為StartScene繼承自CCScene,這裡進行一個CCScene初始化的判斷來判斷StartScene能不能成功建立                                                                     *//************************************************************************/if (!CCScene::init()){/*如果CCScene初始化失敗,則表示StartScene將不會成功建立,則返回false*/return bRet;}/*這裡我們來打個Log來看我們是不是盡到了StartScene*/CCLog("Now,I'm in StartScene!");/*CCScene初始化成功後,我們可以繼續後面的操作來進行StartScene的設計*/bRet = true;/*根據我之前說的大體架構結構,scene下添加layer,這裡我們將添加StartLayer,他是開始情境中的主角,開始情境介面上顯示的控制項都來自他*/CCLayer *pstartLayer = StartLayer::create();addChild(pstartLayer);return bRet;}

StartLayer.h

#ifndef _StartLayer_h_#define _StartLayer_h_#include "cocos2d.h"#include "cocos-ext.h"using namespace cocos2d;using namespace cocos2d::extension;class StartLayer:public CCLayer{public:StartLayer(void);virtual ~StartLayer(void);virtual bool init();CREATE_FUNC(StartLayer);virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);protected:private:};#endif

StartLayer.cpp

#include "StartLayer.h"StartLayer::StartLayer(void){}StartLayer::~StartLayer(void){}bool StartLayer::init(){bool bRet = false;if (!CCLayer::init()){return bRet;}bRet = true;CCLog("Now,I'm in StartLayer!");setTouchEnabled(true);return bRet;}void StartLayer::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent){}void StartLayer::ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent){}void StartLayer::ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent){}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.