感謝你們一直以來的關注,十分慚愧沒有更新unity2D的教程,後續打算抽時間更新一組遊戲開發和UI開發的教程,敬請期待!node
羣裏和你們討論unity適不適合作2D遊戲的問題,有個好心的朋友說給你們說說轉unity要注意什麼問題吧!我以爲這個話題很好,可是我充其量也只算個熟手,瞎扯幾句,但願對你們有幫助吧。xcode
spritekit是標準的cocos模式,純代碼開發,全部的素材用代碼加載,組合,調用。不論是幀動畫仍是變換動畫,都是用代碼來控制。並且內置了不少變換動畫函數,好比位移,縮放,旋轉等。
unity中,幀動畫都是拖拽實現,很是的方便,並且帶動畫編輯器和控制器,簡單的動畫都無需任何代碼。可是unity中不具有內置的變換動畫函數,還好有iTween組件能夠很方便的實現出來。編輯器
spritekit中是標準的軟件開發模式,代碼爲核心,定義各類類來控制各類對象的全部行爲,一個load初始化全部資源,而後update函數撐起一片天,這個我我的以爲主要仍是由於受到xcode這個對遊戲開發不友好的工具的限制。
unity中是腳本化和組件化,以遊戲對象GameOjbect爲核心,腳本只能算做輔助的組件之一,一切都以編輯器爲主。一個場景加載好之後,全部的GameObject各自作各自的初始化和各自的update,彼此不互相干擾,很是清晰。這也是我偏心unity的緣由之一,在spritekit中全部的對象全都在場景類中彼此交錯,很是難拆分。函數
這其實算是惟一的相同點了,spritekit中用node來管理對象結構,建立/銷燬/設置父節點等,都是用代碼來完成。用代碼的弊端很明顯,就是不直觀,你每次都要去看代碼才知道兩個node是什麼關係。
unity中,有樹形面板,全部對象都清晰的標明瞭父子關係,隨手截了一個我當前項目的面板,連美術都能看懂的樹形圖,好用到爆,麻麻不再怕我掛錯父節點了。工具
spritekit中,主要是用xcode管理素材,衆所周知xcode對資源管理是多麼的不友好,導入還要import,刪除還要remove reference,還不能看縮略圖,對圖集的拆分也很不方便。
unity中有個project面板,裏面全部資源均可以用預覽圖模式查看,並且像finder同樣能夠拖拽添加和刪除任何資源,甚至還能夠查看該資源在當前場景的全部引用。prefab就更是一個逆天的東西,能夠快速方便的建立相似的GameOjbect,至關於一個模具,不須要每次都初始化其屬性。組件化
其實要真是對比的話,說一天也說不完,這些是我最早想到的,應該是比較常見的一些sk的問題unity可以彌補的。說了這麼多好像都是sk的鍋,其實sk也有本身最大的優點:執行效率和包尺寸。這兩個是unity的硬傷,並且unity目前是無解的。sk空項目打包後大概8MB沒記錯的話,unity空項目打包20-30MB左右吧。並且不少unity遊戲都有發熱嚴重的問題,sk跑60幀是無壓力的。雖然unity有很逆天的Editor模擬器,可是sk打包速度超快,build到真機也是十分的方便。動畫
unity更新到5.3之後,libiPhone這個最核心的庫已經達到了1GB以上,打包出的遊戲體積直接翻了一倍(官方說是由於蘋果最近強制App必須支持32和64位處理器),讓人十分懷念sk的日子啊。蘿蔔白菜各有所愛,你們仍是根據須要選擇吧!ui