用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...