原创 OO設計原則

1、可變與不變分離。2、針對接口而非實現編程。3、多用組合,少用繼承。(策略模式)4、高內聚、低耦合。(觀察者模式)5、可擴展不可修改。(裝飾者模式)6、依賴抽象而非具體類。(工廠模式)7、交互儘量少。8、交互是有向性的。9、一個類只做一件

原创 我的友情鏈接

cocos2d-x中文社區泰然論壇cocos2d-x英文社區w3schoolpython靈動生活

原创 狀態模式

狀態模式:允許對象在內部狀態改變時改變它的行爲,對像看起來好像修改了它的類。查看源代碼可知,cocos2d也使用了狀態模式,class CC_DLL CCDirector : public CCObject, public TypeInfo

原创 組合模式

組合模式:允許你將對象組合成樹形結構來變現“整體/部分”層次結構。組合能讓客戶以一致的方式處理個別對象及對象組合。這個模式常用語UI組件的組織結構上,也很好理解。在cocos2d中也不例外的應用了組合模式:class CC_DLL CCNo

原创 適配器模式與外觀模式

適配器模式:將一個類的接口,轉換成客戶期望的另一個接口,適配器讓原本接口不兼容的類可以合作無間。外觀模式:提供了一個統一 的接口,用來訪問子系統中的一羣接口。外觀定義了一個高層接口,讓子系統更容易使用。

原创 java調用C++

原创 觀察者模式

觀察者模式:定義了對象之間的一對多的依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知並自動更新。其實在軟件開發的過程中,這種模式最常見,典型的就是事件監聽。先是實現監聽接口,然後註冊:public abstract clas

原创 單件模式

單件模式:確保一個類只有一個實例,並提供一個全局訪問點。圖中代碼的好處就是創建對象以後可以做一些初始化工作,如果聲明時直接創建對象就不能達到這樣的效果了。單件模式,也叫單例模式,用的還是比較廣泛的,但是我覺得不要亂用爲好,到處都是單例,耦合

原创 工廠模式

書中介紹了三種工廠,簡單工廠、工廠方法、抽象工廠。1、簡單工廠:不是一個設計模式,反而比較像是一種編程習慣。這是我在網上找的圖片,雖然不是類圖,但是簡潔明瞭。如果我們把方法聲明成靜態的,也就變成了靜態工廠,易於使用但是不宜與擴展。2、工廠方

原创 策略模式

策略模式:定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立與使用算法的客戶。當讀完本章內容後,突然發現,其實自己以前寫的遊戲代碼中也用到了這樣的結構。只是沒有可替換的算法族,不夠嚴謹而已。實現一個畫筆public

原创 lua——函數

1,使用函數時必須帶圓括號,除非函數只有一個參數,且此參數是字面字符串或者table構造式。2,lua爲面向對象式的調用提供了一種特殊的語法-冒號操作符。o:foo(x)==o.foo(o,x);3,無論函數使用lua編寫的還是用c編寫的,

原创 lua 語言基礎

1,在lua語法中,語句之間不需要加分號,代碼中的換行不起任何作用。2,lua中的標識符可以由任意字母,數字和下劃線構成的字符串,但是不能以數字開頭。3,lua大小寫敏感。4,--行註釋,--[[]]段註釋。5,全局變量不需要聲明,訪問未初

原创 cocos2d-x js 綁定test

test路徑:/cocos2d-2.1beta3-x-2.1.0/tools/cxx-generator主要參考的還是readme這個問題件,裏面寫的很詳細:https://github.com/funkaster/cxx-generato

原创 cocos2d-x js 綁定自定義類型

1、在conversions.yaml文件添加要綁定的類型轉換函數:文件所在目錄:添加的內容如下:Int1DArray 是我要綁定的結構體。然後綁定要使用的相關文件。(類文件和頭文件)2、新建一個js項目,將綁定好的文件和源文件加入到項目中

原创 cocos2d-x CCScheduler

CCNode::CCNode(void){    m_pScheduler = director->getScheduler();    m_pScheduler->retain();}void CCNode::schedule(SEL_S