最近開始學習cocos2d, 查閱資料發現有個Cocos2d-X和Cocos2d-iphone, 不解,為什么會有兩種 ... 在網上查閱找到了Himi寫的這篇總結, 很詳細,於是轉來收藏!嘿嘿 ...
Himi 原創, 歡迎轉載,轉載請在明顯處注明! 謝謝。
原文地址:http://blog.csdn.net/xiaominghimi/article/details/6938675
可能很多童鞋有點疑惑-。 -昨天剛寫了如何搭建Cocos2d-X開發環境,這一篇就開始總結了。。。。。
不得不說要說總結,因為Cocos2d-X的代碼和Cocos2d-iphone兩個引擎除了語言不同外(Cocos2d-X使用C++,Cocos2d-iphone使用Object-C)可以說沒有其他差異=。 =
下面Himi舉例對比幾段代碼來說明吧:
創建添加一個精靈代碼對比:
使用Cocos2d-X:
- //---------Cocos2d-X代碼部分--
- //創建一個精靈
- CCSprite *spriteTemp =CCSprite::spriteWithFile("icon.png");
- //設置精靈的坐標
- spriteTemp->setPosition(ccp(size.width*0.5,size.height*0.5));
- //將精靈添加到layer中
- this->addChild(spriteTemp,1);
使用Cocos2d-iphone:
- //---------Cocos2d-iphone代碼部分--
- //創建一個精靈
- CCSprite *spriteTemp =[CCSprite spriteWithFile:@"icon.png"];
- //設置精靈的坐標
- spriteTemp.position=ccp(size.width*0.5,size.height*0.5);
- //將精靈添加到layer中
- [self addChild:spriteTemp z:0 tag:1];
添加一個粒子代碼對比:
使用Cocos2d-X:
- //---------Cocos2d-X代碼部分--
- CCParticleSystem *tempSystem =ARCH_OPTIMAL_PARTICLE_SYSTEM::particleWithFile("himi.plist");
- tempSystem->setPosition(ccp(100,100));
- this->addChild(tempSystem);
使用Cocos2d-iphone:
- //---------Cocos2d-iphone代碼部分--
- CCParticleSystem *tempSystem =[ARCH_OPTIMAL_PARTICLE_SYSTEM particleWithFile:@"himi.plist"];
- tempSystem.position=ccp(100,100);
- [self addChild:tempSystem];
OK,不在舉例了,通過以上隨便舉例的兩段代碼童鞋們很清楚的看出來,基本上沒有差異。。So~這也是Himi沒有在更新Cocos2d-X博文的必要,以后主要會繼續更新Cocos2d(Cocos2d-iphone)博文的,以后童鞋們不管是做Cocos2d-X還是做Cocos2d-iphone都可以看我的【iOS-Cocos2d游戲開發系列博文的】誰讓它們通用呢 =。 =
這里還有三點要說下:
第一:現在很多游戲公司都趨向於Cocos2d-X引擎開發游戲的趨勢,不得不說Cocos2d-X多平台平移確實很誘惑人,而且通過網龍《91部落》手機網游的成功發布,不得不說Cocos2d-X已成熟!
第二:不少童鞋肯定會很想知道Cocos2d-X能多平台平移,那么平移穩定性如何?
通過Himi的了解,Cocos2d-X開發都會使用統一的C++語言開發,例如在iOS開發中使用Xcode+cocos2d-X,在Android上一般使用Eclipse+Android NDK+ADT....
其實總結一句,Cocos2d-iphone並不像很多童鞋認為的只要的一人開發就可打包多平台包這樣子~ 如果說用一句話更貼切的形容Cocos2d-X,Himi會用“Cocos2d-X代碼通用”來形容;
從CC(CocoChina)上我看到王哲walzer(cocos2d-x 游戲引擎作者)在回復一童鞋問題時候這么說的:
問:關於如何打包cocos2d-x程序的問題 本人新手,想請教一下如何將Cocos2d-x win32的程序打包成iphone能夠運行的程序,請各位大大不吝賜教!謝謝!
王哲walzer 答:win32上只是讓你調試方便,要發布到appstore上,你還是得有個mac機,裝好cocos2d-x template,新建工程,然后把win32上代碼拷過來,手工地加入xcode工程里面,編譯運行
從上面的對話可以證實Himi所說的Cocos2d-X是代碼通用! OK,不多說了,大概就說這幾點吧,繼續忙了~