cocos2d-x筆記-創(chuàng)新互聯(lián)

可變數(shù)組用CCArray   格式化輸出例如 char str[50] ={0} int i = 50; sprintf(str,"hello%d.png",i);     CCCA一個宏,先copy 再釋放 
CCRANDOM_0_1  0~1的隨機數(shù)   要用string還要在mk文件里面加上gnustl_static   CCRect::CCRectContainsPoint這個函數(shù)用來判斷一個點是否在一個矩形范圍內(nèi)。我們就想用這個函數(shù)來判斷當前觸摸操作的這個點是否在當前node的范圍內(nèi)。 this->boundingBox() 方法獲得了當前節(jié)點對象在父節(jié)點對象下的縮放之后的本地坐標大小,并且是用GL坐標系表示的。  CCLayerColor::initWithColor(ccc4(255,255,255,255)); //初始一個帶顏色的層; ccc4:創(chuàng)建一個r,g,b,o(opacity:不透明度); 還有ccc3:r,g,bcocos2d-x筆記

CCDirector::shareDirector() //返回一個導(dǎo)演實例;方法 getWinSize獲取游戲主題大小

創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,先為邊壩等服務(wù)建站,邊壩等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為邊壩企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

CCSprite *player = CCSprite::create('path'); //創(chuàng)建一個精靈; 資源直接讀取到Resources目錄下;

CCRectMake(0,0,27,40) //返回一個矩形區(qū)域;

sprite->setPosition() 設(shè)置精靈的坐標

this->addChild()  //添加到舞臺上,revomeChild()移除

ccp(int __X__,int __Y__) //返回一個坐標

rand()%X // 獲得0-X的一個隨機整數(shù)

CCMoveTo::create(時間,目標地點)  //創(chuàng)建一個直線移動路徑

CCCallFuncN::create(this,callFuncN_selector(類名::函數(shù)名)) 創(chuàng)建一個回調(diào)函數(shù)

CCCallFunc中的回調(diào)函數(shù)不帶參數(shù), CCCallFuncN中的函數(shù)帶一個參數(shù) , CCCallFuncND中的函數(shù)帶兩個參數(shù),第二個為任意類型;

sprite->runAction(CCSequence::create(動作1,動作2,,,NULL)) //讓精靈運行一系列的動作

this->schedule(schedule_selector(類名:函數(shù)名),間隔時間) //設(shè)置定時器,固定間隔時間執(zhí)行某個動作,相當于js和as中的setInterval, 如果不設(shè)置間隔時間,那么為每幀執(zhí)行

virtual void ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent); //再重載函數(shù)時候需要使用virtual,參數(shù)中需指明cocos2d::類,ccTouchesEnd為觸摸事件

CCTouch *touch = (CCTouch*)pTouches->anyObject();  //獲取觸控點

CCPoint location = this->convertTouchToNodeSpace(touch); //獲取觸控點的坐標

CCPoint offset = ccpSub(坐標A,坐標B) // 獲得兩個坐標點的差值offset.x offset.y

sprite->release(); sprite = NuLL; //清空精靈變量

sprite->setTag(int X); //設(shè)置精靈的標簽, getTag() 獲取標簽

CCArray::create(); //創(chuàng)建CC數(shù)組, addObject

CCArray x->addObject(); //為數(shù)組添加變量, revomveObject 移除數(shù)組變量;

CCARRAY_FOREACH(CCArray,CCObject) // 迭代循環(huán)數(shù)組,CCObject需要先定義 CCObject *pobj = NULL;

CCSprite *projectile = (CCSprite*)pObject; //CCobject類型可進一步定義;

CCRect::CCRectIntersectRect(sprite1->boudingBox(),sprite2->boundingBox());  //矩形的碰撞檢測

CocosDenshion::SimpleAudioEngine::shareEngine()->playerBackgroundMusic("path") //播放背景音樂, ->playerEffect()播放音效

CCLabelTTF:create(msg,字體,字號); //創(chuàng)建一個文字標簽

CCDelayTime::create(3) //創(chuàng)建一個延遲3秒時間

CCDirector::sharedDirector()->replaceScene(gameOverScene); //場景切換;

Sprite->setRotation(cocosAngle); //設(shè)置角度 Degree

cpp文件中定義函數(shù)時,如果沒有指明類名,那么將無法使用類的成員變量;

關(guān)于CCObject的retain(),是手動管理內(nèi)存的方式,通過retain保持住對象的占用,使計數(shù)器+1,不會因為remove等操作而找不到變量地址;

sqrtf() //開方返回float類型

CCRotateTo::create(時間,目標角度) //旋轉(zhuǎn)對象

do{}while(0)的用法在程序中大量使用,一個過程代碼遇到跳出條件時則重新執(zhí)行,保證了代碼行的同步執(zhí)行順序;

CC_SYNTHESIZE(varType, varName, funName); //用于聲明保護變量,然后可以通過getter和setter來操作變量;

CREATE_FUNC(funcname) //創(chuàng)建一個自己類的create方法;調(diào)用的類的init()方法;

一個頭文件中的各個class結(jié)束時都要記得;結(jié)束符 // class1{}; class2{}; 注:在.cpp文件中不需要

(CCArray*)array -> objectAtIndex(索引) // 返回該索引的數(shù)組元素;

CCString::createWithFormat(格式化,變量,,) // 創(chuàng)建字符串;

static LevelManager *sharedInstance(void){  }  //單例模式, LevelManager::sharedInstance()->...

CCObject->autorelease() //使用new之后,調(diào)用autolease()我們就不必在去操作它的內(nèi)存釋放;

網(wǎng)頁名稱:cocos2d-x筆記-創(chuàng)新互聯(lián)
分享路徑:http://bm7419.com/article18/cdepgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站做網(wǎng)站、微信公眾號、企業(yè)網(wǎng)站制作、用戶體驗響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)