cocos2d的5個重要協議

2021-06-20 18:05:11 字數 2729 閱讀 7714

5個重要協議

@protocolccrgbaprotocol <nsobject>

// 設定 cccolor3b 結構的顏色資料

-(void) setcolor:(cccolor3b)color;

-(cccolor3b)color;

// 如果紋理有 premultiplied alpha 資料 那麼更改透明度同時會更改rgb通道的值

-(void)setopacity:(glubyte)opacity;

-(glubyte)opacity;

// 可選實現

@optional

// 設定更改透明度時是否修改rgb值

// 如果設定yes, 透明度被設定時將會呼叫: glcolor(opacity,opacity,

opacity,opacity)

// 如果設定no, 透明度唄設定時將會呼叫: glcolor(r,g,b,opacity)

// 紋理如果有 premultiplied alpha資料將會預設把此項設定為yes, 否則設定為no

-(void)setopacitymodifyrgb:(bool)boolean;

// 返回更改透明度時是否修改rgb值

-(bool)doseopacitymodifyrgb;

@end

@protocolccblendprotocol <nsobject>

// 指定渲染函式

-(void)setblendfunc:(ccblendfunc)blendfunc;

-(ccblendfunc)blendfunc;

@end

@protocolcctextureprotocol <nsobject>

-(cctexture2d *)texture;

-(void)settexture:(cctexture2d *)texture;

@end

cclabelprotocol 所有label相關物件都實現此協議. 此協議提供乙個設定標籤文字的介面

@protocolcclabelprotocol <nsobject>

-(void) setstring:(nsstring*)label;

-(nsstring*)string;

@optional

// 使用 c字串, 此方法要比nsstring快, 因為不需要向nsstring傳送alloc/retain/release訊息

-(void)setcstring:(char*)label;

@end

ccdirectordelegate 實現 ccdirector** 協議的類可以響應ccdirector的 裝置旋轉 更新投影的訊息

@protocolccdirectordelegate <nsobject>

@optional

// 當ccdirector 使用了自定義 projection 並且在投影更新時,會向**傳送此訊息

-(void) updateprojection;

// 檢查當前應用是否支援指定的裝置方向

-(bool)shouldautorotatetointe***ceorientation:(uiinte***ceorientation) inte***ceorientation;

@end

cocos2d實現語音 Cocos2d 聲音API

param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...

cocos2d筆記 cocos2d的單例模式

cocos2d充分使用了單例設計模式,這裡有必要提及它是因為它是經常是討論熱點。大體上說,乙個singleton是乙個類,它在應用使用期中僅僅例項化一次。為了確保如此,就要使用乙個既建立又訪問此物件例項的靜態方法。因此,你不使用alloc init或者靜態自動釋放初始化器 static autore...

Cocos2D研究院之初識Cocos2d(二)

在正式介紹cocos2d之前,我先囉嗦一下本人對這套引擎的看法。我認為coos2d最大的作用就是降低開發成本 貌似所有引擎都是這樣 對於研發部門來說,最大的成本就是時間,所以節省時間是降低成本最有效的方式,cocos2d幾乎封裝了所有開發ios遊戲需要的底層 使剛剛接觸oc的開發者也能很快的製作出效...