【嘮叨】
創(chuàng)新互聯(lián)長(zhǎng)期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西疇企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,西疇網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。單例模式,說的通俗一點(diǎn)就是:創(chuàng)建某個(gè)類的全局唯一靜態(tài)實(shí)例對(duì)象。也就是說從它創(chuàng)建開始,一直到整個(gè)游戲程序結(jié)束才會(huì)釋放資源,期間一直保存的著數(shù)據(jù)。
單例類在大部分游戲中應(yīng)該是必不可少的部分,如整個(gè)游戲音樂的開關(guān)控制、數(shù)據(jù)的加載與存儲(chǔ)等都需要一個(gè)全局訪問點(diǎn)來控制,那就需要用到單例類了。
【致謝】
http://blog.csdn.net/star530/article/details/22610229
【3.x】
shared***() 改為 getInstance() 。
【單例模式】
有一個(gè)很形象的比喻,摘自:http://blog.csdn.net/star530/article/details/22610229
假如你是一個(gè)男的,但是你私生活不能自理:不會(huì)煮飯,洗衣服,穿的衣服永遠(yuǎn)都no fashion。
這時(shí)候你需要什么?沒錯(cuò),需要一個(gè)女朋友!但這個(gè)女朋友你該怎么“使用”呢?
給你以下兩種選擇:
(1)要洗衣服的時(shí)候“創(chuàng)建”一個(gè)女朋友(也就是去找一個(gè)女朋友),洗完后將女朋友甩了;
當(dāng)你要做飯,繼續(xù)“創(chuàng)建”一個(gè)女朋友,做完后甩掉;
甚至是當(dāng)你需要滿足某種不可告人的需求時(shí),你需要“創(chuàng)建”一個(gè)女朋友...然后...
(2)找一個(gè)可以過一輩子的女朋友,永遠(yuǎn)在一起,你若不離,她便不棄!
想怎么用就怎么用,省去了相親等一系列麻煩!
以上兩種方法雖然都可以讓你告別你的右手,但是第一種方法的前提條件太夸張了:你要是一個(gè)高富帥,像博主這樣的,呵呵呵呵。
所以,還是選第二種吧,也就是我們所說的單例模式,你想甩也甩不掉。
1、cocos2dx中的單例模式
cocos2dx中其實(shí)存在很多的單例類,相信大家也都接觸過。
例如:CCDirector、SimpleAudioEngine、CCUserDefault、CCSpriteFrameCache等都是用了單例模式,并可以通過shared***()來獲取單例對(duì)象,如CCDirector::sharedDirector()。
2、創(chuàng)建單例類
2.1、聲明.h
// class Global : cocos2d::CCObject { private: static Global* m_global; //唯一靜態(tài)實(shí)例對(duì)象m_global public: static Global* shareGlobal(); //獲取全局訪問點(diǎn)m_global //其他屬性函數(shù)的聲明 //...... }; //
2.2、定義實(shí)現(xiàn).cpp
// //初始化單例唯一實(shí)例對(duì)象m_global Global* Global::m_global = NULL; //獲取全局訪問點(diǎn) Global* Global::shareGlobal() { //判斷m_global是否已被實(shí)例化,如果沒有,將之實(shí)例 if(m_global == NULL) { m_global = new Global(); } return m_global; } //其他函數(shù)的定義實(shí)現(xiàn) //...... //
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。