CreatorPrimer | 節點與組件的思考

我們已經學習了有段時間的 Cocos Creator 組件開發了,組件化開發到底有是什麼?Shawn這陣子思緒不斷,同時將自己的理解應用於實際項目中,頗有心得,在這裏做一個分享。

1. 理解節點與組件的關係

有經驗的同學,一上手就能想到「裝飾模式」,我們看下定義:

**裝飾模式(Decorator)**動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更爲靈活。

再看一下裝飾模式的基本UML類圖結構 :

大話設計模式

注意,上圖是我從《大話設計模式》中截取的,圖中的Component在Cocos Creator對應的是NodeDecorator對應的是Cocos Creator中的Component

非程序員同學,看到這裏可能會覺得比較懵,這裏我簡單解釋一下「裝飾模式」。既然其中有裝飾二字,就應該有裝飾品被裝飾者,例如:例如:一個人穿上衣服、背上雙肩包、 帶上電腦和手機(哈哈!典型的Shanw平時的裝扮)。

程序員揹包
上圖中的人就是被裝飾者,衣服、雙肩包都是裝飾品。其中衣服、雙肩包提供了渲染能力,美化外表,讓Shawn可以正常地走在大街上;電腦賦予Shawn工作能力,比如寫代碼、寫點教程,當然人走在大家街上你是看不到電腦的,因爲對應的行爲場景沒有激活;手機上不時會收到其他人發來的消息或任務,形成與外部世界溝通的交互界面,提供的是UI交互能力。

當Shawn把《大話設計模式》這本書看懂了,並能真正運用了,《大話設計模式》這本書也就裝飾了我,只不過從外表上是看不出來的,需要工作起來(代碼運行起來)才能表現出來。說不定那天我又把之前的知識給忘記了,衣服、電腦、手機可能還會換,裝飾品對裝飾被者來說是動態變化的。

說了這麼多,我對組件與節點關係的理解是:組件給節點賦能
組件爲節點賦能

2. 程序員爲美術、策劃賦能

基於Cocos Creator這樣的可視化引擎,組件代碼有着巨大的意義。程序員開發出的組件代碼不應該只是滿足自己完成任務,而應該是爲遊戲設計師提供體驗優良的工具,當然你在提供這些組件工具的同時,你的設計水平也在提高。

組件腳本就像是美術生產的圖片、策劃編寫的文案一樣,是遊戲開發中的一項基礎生產資料,遊戲內容更多的是應該由遊戲設計師去完成。

程序不僅僅是編寫組件腳本,還應該向團隊其他人員提供更多的幫助,比如:教他人使用Cocos Creator、教他人使用你編寫的組件、編寫項目輔助工具…。目的是用程序的知識、思維和工具,去裝飾身邊的人,給他們提供他們本身不具備的能力,這樣才能更多地發揮程序員的價值。如果程序員平時沒有察覺到開發體驗(各種不爽),做出的產品也很難談的上有用戶體驗。

3. 人與人之間組件化協作

可能大多數人認爲上面的協作模式太過理想化了,確實如些,這麼多年了,僅在最近Shawn才被幸運眷顧到,哈哈!Shanw 服務的一家兒童教育公司,開發了一套H5教學互動課件。
沉與浮

demo視頻地址:https://v.qq.com/x/page/x0781ab01ou.html

初期Shawn爲美術人員進行了簡單的 Cocos Creator 學習培訓,製作了一個Demo,並對Demo的設計思路、組件用法、項目規範進行了說明。然後就把內容設計完全效給兩名美術同學。沒想到他們豐富的想像力,把我提供的組件腳本完成了之前從未想到過的功能,而且這兩名美術同學纔剛從大學畢業!

項目過程中,這兩位美術同學不僅是美術用PhotoShop出圖,還整理需求、編輯界面、編輯動畫、實現需求;Shawn則在一邊打醬油,寫點教程,即時根據他們提出的功能點提供解決辦法或組件代碼。同時引導他們使用git來管理項目資源;引入任務管理系統梳理工作內容;部署內部自動化構建環境方便授課老師進行測試、磨課、教學等,協作的非常順利。

站在團隊基礎上,爲他人賦予能力,將自己當成裝飾品做爲組件,去裝飾他人讓節點充分發揮能力,進行人與人之間的組件化協作,這是我最近從Cocos Creator組件化開發收穫的啓發。

4. 小結

這一篇沒講多少Cocos Creator具體的技術細節,簡單講述了「裝飾模式」的結構,同時推薦《大話設計模式》這本書。Shawn寫教程的風格多少受到《大話設計模式》、《Head First》的影響。 後面Shanw通過Cocos Creator的組件化開發,若有所悟地將組件化應用到人與人之間的協作,這是自己在開過程中的一點心得,希望對你也有所幫助。


歡迎關注「奎特爾星球」微信公衆號,來我們一起成長!
奎特爾星球

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章