cocos2d之關於物件賦值

2021-06-20 04:42:06 字數 499 閱讀 3760

在c++中我們賦值都是通過 = 來進行賦值的,不過在此之前,我們應該首先要刪掉this的某個指標成員,然後進行記憶體分配和賦值,但是在cocos2d中呢,我們不這樣做了,是先release掉,然後再賦值,看例子**:

void someclass::setobject(ccobject *otherobject)

但是有沒有發現有個隱患,當我的object和otherobject是同乙個object的時候,接下來release掉,那麼如果觸發了物件**,那接下來的行為那不是要出**煩了嗎?那該怎麼去解決這個bug的出現呢,我們應該首先對otherobject進行retain一下,保證有效,然後release一下,然後再進行賦值.

void someclass::setobject(ccobject *otherobject)

當然還有其他的很多辦法可以解決了。比如可以使用前一章的autorelease來代替release

cocos2d實現語音 Cocos2d 聲音API

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

Cocos2D研究院之初識Cocos2d(二)

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

Cocos2D研究院之初識Cocos2d(二)

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