亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[cocos2d-x]cocos2dx與cocos2d的一些變化

發布時間:2020-04-07 14:37:26 來源:網絡 閱讀:235 作者:蓬萊仙羽 欄目:游戲開發

cocos2dx v2.0版本發布一段時間了,現在最新版本是 cocos2d-2.0-rc2-x-2.0.1 ;這段時間Himi對2.x的更新版也有關注,也嘗試使用過,發現不少地方都有改動,對于Himi最新項目快到尾聲的考慮,所以也沒有更新引擎到最新。那么今天開始Himi將陸續使用最新v2.x版本的一些東東,同步更新一些經常使用的改動以及值得注意的地方發博文出來與大家共享;

在之前我們使用cocos2dx 1.x版本中,我們都知道,創建一個CCObject類,都是類名然后::類名去除CC這個規律來創建和初始化,但是這一條在Cocos2dx 2.x版本就不行了,在cocos2dx  2.x版本中初始化和創建類基本都是 create 關鍵字開頭創建。

首先我們來看第一個改動:  CCLayer初始化

自定義Layer,類名:World

1
2
3
4
5
6
.h中:
1.x版本Layer函數
LAYER_NODE_FUNC(World);
 
2.x版本Layer函數
LAYER_CREATE_FUNC(World);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.cpp中:
1.x版本的重寫函數:
 
CCScene* World::scene()
{
    CCScene *scene = CCScene::node();
    World *layer = World::node();
    scene->addChild(layer);
    return scene;
}
 
2.x版本的重寫函數:
 
CCScene* World::scene()
{
    CCScene *scene = CCScene::create();
    World *layer = World::create();
    scene->addChild(layer);
    return scene;
}

 

然后我們看第二個常用的CCArray的初始化:

1
2
3
4
5
1.x版本的CCArray創建:
CCArray*array = CCArray::array();
 
2.x版本的CCArray創建: 
CCArray*array = CCArray::create();

 

 

第三個我們看文件路徑相關CCFileUtils函數使用:

[cpp] view plaincopy
  1. 1.x版本的使用:   
  2. const char* fullpath = cocos2d::CCFileUtils::fullPathFromRelativePath(patha.c_str());  
  3.    
  4. 2.x版本的使用:  
  5. const char* fullpath = cocos2d::CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(patha.c_str());  



第四個精靈的創建:  

[cpp] view plaincopy
  1. 1.x中精靈的創建:  
  2.  CCSprite *sp = CCSprite::spriteWithFile("himi.png");  
  3. 2.x中精靈的創建:  
  4.  CCSprite *sp = CCSprite::create("himi.png");  



第五個注冊觸屏事件監聽

[cpp] view plaincopy
  1. 1.x中注冊:  
  2. CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, 0, false);  
  3.    
  4. 2.x中注冊:  
  5. CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, false);  


第六個粒子相關

[cpp] view plaincopy
  1. 1.x粒子創建和設置自動釋放設置  
  2. CCParticleSystem *tempSystem =  CCParticleSystem::particleWithFile("himi.plist");  
  3.         tempSystem->setIsAutoRemoveOnFinish(true);  
  4.            
  5. 2.x粒子創建和設置自動釋放設置          
  6. CCParticleSystem *tempSystem =  CCParticleSystemQuad::create("himi.plist");  
  7.         tempSystem->setAutoRemoveOnFinish(true);<span style="color:#ff0000;">  
  8. </span>  



第七個:CCFileData 類去除了:

[cpp] view plaincopy
  1. 1.x的CCFileData的使用:  
  2.         
  3. cocos2d::CCFileData fileDataClip(const char *pszFileName, const char *pszMode);  
  4.     
  5. 2.x中CCFileData被刪除,直接使用如下函數即可代替:  
  6. CCFileUtils::sharedFileUtils()->getFileData(const char *pszFileName, const char *pszMode, unsigned long *pSize)  


第八個 Action 動作使用與創建:

[cpp] view plaincopy
  1. 1.x動作的創建與使用:  
  2. this->runAction(CCSequence::actions(  
  3.                                             CCMoveTo::actionWithDuration(ccpDistance(this->getPosition(), target) / velocity,  
  4.                                                                          target),  
  5.                                             CCCallFunc::actionWithTarget(this, callfunc_selector(Player::removeTarget))  
  6.                                             ,NULL));  
  7.     
  8. 2.x的動作創建和使用:        
  9. this->runAction(CCSequence::create(  
  10.                                            CCMoveTo::create(ccpDistance(this->getPosition(), target) / velocity,  
  11.                                                             target),  
  12.                                            CCCallFunc::create(this, callfunc_selector(Player::removeTarget))  
  13.                                            ,NULL));  


其實以上這幾個例子比較有代表性了,其他的一些區分我想大家也能找到不一定的規律。那么本篇對于cocos2dx v2.0版本的差異就講述到這,后續如果Himi還發現比較重點區分的地方也一定會博文分享出來的。   [cocos2d-x]cocos2dx與cocos2d的一些變化


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴业县| 平利县| 茂名市| 吴川市| 台北市| 神池县| 罗城| 北碚区| 温州市| 北京市| 井研县| 慈利县| 泽普县| 逊克县| 稻城县| 静宁县| 兰坪| 普陀区| 莱芜市| 元江| 康保县| 四平市| 保山市| 措勤县| 玉田县| 陵水| 康马县| 香格里拉县| 宣武区| 五原县| 承德市| 山西省| 尖扎县| 赤壁市| 锡林郭勒盟| 黄石市| 准格尔旗| 夏河县| 九龙坡区| 利辛县| 绥江县|