cocos2d x ios遊戲開發初認識 一

2021-06-23 03:47:48 字數 3328 閱讀 3864

用xcode新建工程,我用版本是xcode5開始執行會出現兩個錯誤,首先進行改錯。

錯誤**:

clang: error: unknown argument: '-websockets' [-wunused-command-line-argument-hard-error-in-future]

只需將other link中-websockets刪掉就行

然後執行就ok了。

執行結果:

看函式的主**部分:

bool

先畫張圖從大的方面分析

其中 ccdirector

是導演類 shareddirector函式

ccdirector

*ccdirector

::shareddirector(

void)

return

s_shareddirector; }

作用用來生成乙個單例。 

在往下看 pdirector->

setdisplaystats

(true

); 使用表示 是否顯示

fps(

每秒中填充影象的幀數

)的一些資訊 就是左下角顯示的那些資訊

pdirector->

setanimationinterval

(1.0

/ 60

);  表示每秒60幀

接著看很重要的類 ccscene 場景類

class

cc_dll ccscene : public

ccnode  繼承至ccnode ;

這是最基本的 第乙個為建構函式 第二個為析構函式 第三個為初始化函式 第四個為類函式

下面注重分析  helloworld這個類

class helloworld :public

cocos2d::cclayer ;

virtual

bool

init(); 是個虛函式 在c++中主要用來實現多型 具體看它的實現方法

bool

helloworld::init() /*

這裡就像ios開發中初始化一樣

if(self = [super init])

*//*

下面的後面都是用到和解釋*//

// 2. add a menu item with "x" image, which is clicked to quit the program

//    you may modify it.

// add a "close" icon to exit the progress. it's an autorelease object

ccmenuitemimage*pcloseitem =ccmenuitemimage::

create(

"closenormal.png",

"closeselected.png",

this,

menu_selector(helloworld::menuclosecallback) );

pcloseitem->setposition(ccp(ccdirector::shareddirector()->getwinsize().width -20, 20) );

// create menu, it's an autorelease object

ccmenu* pmenu = ccmenu::create(pcloseitem,null);

pmenu->setposition(ccpointzero );

this->addchild(pmenu,1);

/// 3. add your codes below...

// add a label shows "hello world"

// create and initialize a label

cclabelttf* plabel = cclabelttf::create("hello world","thonburi", 34);

// ask director the window size

ccsize

size =

ccdirector

::shareddirector()->getwinsize();

// position the label on the center of the screen

plabel->setposition(ccp(size.width / 2, size.height -20) );

// add the label as a child to this layer

this->addchild(plabel,1);

// add "helloworld" splash screen"

ccsprite* psprite = ccsprite::create("helloworld.png");

// position the sprite on the center of the screen

psprite->setposition(ccp(size.width/2, size.height/2) );

// add the sprite as a child to this layer

this->addchild(psprite,0);

return true; }

接下來看 ccscene 類方法

ccscene* helloworld::scene()

ccscene*pscene = helloworld::

scene

(); //就是建立乙個helloworld的場景

create_func

(helloworld

); //很重要 開啟這個巨集

#define create_func(__type__) \  //__type__ 就是 helloworld

static __type__* create() \    //相當於 static helloworld*create() helloworld的類方法 作用就是返回helloworld物件 \

else \ \}

pdirector->runwithscene(pscene);    //讓導演去執行這個場景

cocos2d x IOS遊戲開發

捕魚達回顧 cocos2d x ios遊戲開發 捕魚達人1 內容介紹 上節回顧 cocos2d x ios遊戲開發 城市跑酷14 重寫觸屏 touch 事件處理機制,響應玩家操作 cclabelbmfont的特色就是以占用更多記憶體為代價加快標籤的更新,這與其他任何ccsprite類相似 在遊戲中使...

cocos2d x IOS遊戲開發

捕魚達回顧 cocos2d x ios遊戲開發 捕魚達人1 內容介紹 上節回顧 cocos2d x ios遊戲開發 城市跑酷3 讀取資源,設定背景層 遊戲的元素應該是多種多樣的,只有乙個背景就略顯單調了,這裡我們來加入一些道具。來看下具體的實現 加入背景 城市燈火 background ccspri...

cocos2dx IOS微信分享

c2dshareinstance.h c2dshareinstance.mm mm是用於c 與ios混編 是用於cocos2dx 與 ios 進行互動的,內部實現如下 ifndef c2dshareinstance h define c2dshareinstance h include cocos2...