天天看點

uikiller再度進化支援Cocos Creator 2.01. 前言2. Cocos Creator 2.0更新遇到的問題3. uikiller進化之路4. 小結

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

uikiller再度進化支援Cocos Creator 2.01. 前言2. Cocos Creator 2.0更新遇到的問題3. uikiller進化之路4. 小結

(2) cc.pXXX系列函數被廢棄,使用cc.Vec2成員函數

uikiller再度進化支援Cocos Creator 2.01. 前言2. Cocos Creator 2.0更新遇到的問題3. uikiller進化之路4. 小結

cc.pAdd需改為p.add,cc.pMult改為p.mul

uikiller再度進化支援Cocos Creator 2.01. 前言2. Cocos Creator 2.0更新遇到的問題3. uikiller進化之路4. 小結

兩個點的距離計算cc.pDistance改為p1.sub(p2).mag()。

(3) cc.audioEngine.play不建議使用url參數

uikiller再度進化支援Cocos Creator 2.01. 前言2. Cocos Creator 2.0更新遇到的問題3. uikiller進化之路4. 小結

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再度進化支援Cocos Creator 2.01. 前言2. Cocos Creator 2.0更新遇到的問題3. uikiller進化之路4. 小結

如果你也感興趣,可以參考uikiller源碼測試場景:test3、test10可以看到具體使用方法和效果。

一個預制體,兩個腳本(元件腳本與控件器腳本),這讓我聯想到《鬥羅大陸》唐三的雙生武魂,左手藍銀草主要制,右手昊天錘主攻擊,請看下圖:

uikiller再度進化支援Cocos Creator 2.01. 前言2. Cocos Creator 2.0更新遇到的問題3. uikiller進化之路4. 小結

不吹那麼多了,多年心得盡在uikiller,源碼位址奉上:https://github.com/ShawnZhang2015/uikiller

4. 小結

在此歡迎大家來「奎特爾星球」投稿,我們一起學習共同成長,将自己的經驗用文字記錄下來,整理成行之有效的方法論,使之能被疊代、複制。

不論你是程式員、策劃、美術,隻要你的經驗能幫助大家,都非常歡迎。幫助他人,也是幫助自己!相信自己,如果你堅持做下去,一定會看到一個不一樣的自己!