1. 前言
早在8月24日,公衆号收到網友Vincent的留言,提醒我uikiller庫在Cocos Creator 2.0上有錯!驚出一身冷汗,怎麼忘記這個事了。晚上回到家,迅速啟動Cocos Creator 2.0打開uikiller工程,确實是有問題,還好問題不嚴重,立馬做了修改并推送到github倉庫增加了v2分支,在此感謝Vincent提醒!
雖然uikiller的使用者并不多,但是也有朋友已經将uikiller應用到了自己的項目,一旦有問題,我也是有責任的!在這裡肯請大家,如果發現我的問題,希望能即時向我指出。
2. Cocos Creator 2.0更新遇到的問題
uikiller在Cocos Creator 2.0上的問題,主要是Cocos Creator有部分API發生了變化和調整,目前Shawn還沒有使用Cocos Creator 2.0做項目,有些後知後覺!我将在uikiller中發現的API調整做一個簡單分享:
(1) 使用rect.contains替換cc.rectContainsPoint
(2) cc.pXXX系列函數被廢棄,使用cc.Vec2成員函數
cc.pAdd需改為p.add,cc.pMult改為p.mul
兩個點的距離計算cc.pDistance改為p1.sub(p2).mag()。
(3) cc.audioEngine.play不建議使用url參數
cc.audioEngine.play(url)使用下面方法代替:
cc.loader.loadRes(url, cc.AudioClip, (error, audioClip) => {
cc.audioEngine.play(audioClip);
})
複制
(4) 更多參見Cocos Creator2.0更新指南
Shawn這裡講的都非常簡單,更多引擎更新問題請參考官方文檔Cocos Creator v2.0 更新文檔:
http://docs.cocos.com/creator/manual/zh/release-notes/upgrade-guide-v2.0.html
3. uikiller進化之路
将界面邏輯與業務邏輯都編寫在元件腳本中是否合适?如何将MVC模型應用于Cocos Creator遊戲開發之中?Shawn經過對PureMVC的項目實踐經驗,結合Cocos Creator元件化開發,總結出了一套更加簡化的MVC模型,不過目前隻提供了控制器的簡單應用。
如果你也感興趣,可以參考uikiller源碼測試場景:test3、test10可以看到具體使用方法和效果。
一個預制體,兩個腳本(元件腳本與控件器腳本),這讓我聯想到《鬥羅大陸》唐三的雙生武魂,左手藍銀草主要制,右手昊天錘主攻擊,請看下圖:
不吹那麼多了,多年心得盡在uikiller,源碼位址奉上:https://github.com/ShawnZhang2015/uikiller
4. 小結
在此歡迎大家來「奎特爾星球」投稿,我們一起學習共同成長,将自己的經驗用文字記錄下來,整理成行之有效的方法論,使之能被疊代、複制。
不論你是程式員、策劃、美術,隻要你的經驗能幫助大家,都非常歡迎。幫助他人,也是幫助自己!相信自己,如果你堅持做下去,一定會看到一個不一樣的自己!