推 chenglap:不用的原因: FLASH 在 mobile 上即使能跑效能也太低. 06/02 01:02
→ chenglap:就算要兼容 flash, 我也會選擇用 HAXE 去生成. 06/02 01:06
→ chenglap:是否「行動平臺上效能也不成問題」, 沒有測試數據我不會 06/02 01:08
→ chenglap:立即就相信. 06/02 01:09
→ chenglap:而且沒記錯連 adobe 也不打算在行動平臺上鑽研下去了吧. 06/02 01:10
http://blog.juiceboxmobile.com/2013/03/06/2d-gaming-mobile-performance-starling-air-vs-unity-3d/
縮址 : http://ppt.cc/SBfJ
這邊有篇文章正好提到這個部分,Unity3D的效能較好
當然我本來就相信使用Unity3D效能一定比AIR還要好
但我認為只要夠用我仍可以去考慮使用AIR
我無法放棄的主要原因,是AIR提供的API對於跨平台有更好的支援
例如字型、存取檔案、網路還有很多其它的都很好用,不單單是繪圖而已
當然,最主要是我在Unity3D使用一些3rd的2d framework使用
挫折感不少,有的是效能更差,有的是好用,但無法用系統字,要再打包一個
中文bitmap font就佔了不少空間
我有在iPad1寫一個Prototype,使用AIR+Starling Framework
使用一隻2D bone animation的角色 + 三層捲動背景 + 一個火焰的Particle + 10隻怪物
FPS穩定60
由此我自認為效能不是問題,很抱歉我的確是沒有測試數據就相信了它
另外AIR最近仍然還是一直在更新,我想AIR應該是沒有問題
至少我沒有看到什麼消息說Adobe的AIR要停止對行動平台的支援這樣的事
→ VVll:都說做行動平台了 還用flash找死 根本不能跨平台 06/02 01:12
→ VVll:可以用簡單的方法 去增加使用量 不是很好嗎 06/02 01:12
你好,其實我最初的方案是cocos2d-x與Unity3D
其實使用AIR在我的心裡其實是排在它們二個之後的
但由於跨平台的原因,我選擇Unity3D/Flash
而為了做2D game更方便快速,我希望能選擇Flash
推 littleshan:2D手機遊戲請愛用Corona 有免費版 06/02 01:31
推 zeldein:蠻輕鬆的。 06/02 01:53
Corona SDK我也有survey過一段時間,只是Corona SDK對於它沒有的功能我無法擴充
在AIR與Unity3D
我仍可以透過Native的方式來撰寫原生程式碼完成
而cocos2d-x更沒有擴充的問題
→ zeldein:呃 上面沒po好。我沒flash做遊戲經驗,無法比較,不過用 06/02 01:54
→ zeldein:Unity開發2D遊戲其實蠻輕鬆的。 06/02 01:55
推 gonzdevour:這個問題你要問兩種都有做過的人才知道。 06/02 04:30
→ gonzdevour:目前台灣用AIR做行動平台的開發者寥寥可數, 06/02 04:32
→ gonzdevour:所以應該也不用太期待能得到一針見血的答案。 06/02 04:33
→ gonzdevour:就行動平台APP來說,AIR目前應該是全跨, 06/02 04:53
→ gonzdevour:而且Flash的CreateJS還比Unity多了一個mobile web, 06/02 04:54
→ gonzdevour:以及絕對優勢的PCweb平台~ 06/02 04:56
推 gonzdevour:不過開發工具的選擇....這種事本來就很難是客觀的。 06/02 04:58
你好,由於我有傳統FlashWeb開發經驗,也有AIR+Starling的開發經驗
而原本的C/C++上也有使用OGRE/Gamebryo上開發
而原生的Xcode+Objective-C & Android上使用Java開發我都有過經驗
所以我才會希望可以選擇一個可以跨平台的工具 (當然目前不考慮console)
我除了這此,我也試過Moai
它跟Corona SDK比較像,是透過它們自己的Script來撰寫,而Moai可以擴充
所以與Corona SDK相比,我會比較願意使用Moai,重點也是它完全免費
我相信AIR效能上當然是比不過Unity3D,所以我的想法是
Unity3D的2D framework大部分的不夠好用,
在效能可以接受的情況下,為何我不選擇AIR+Starling
有2D bone animation可以用,解決spirte sheet檔案較大的問題
有系統字型可用,不需為了多國語言處理字型的問題
有跨平台的API,socket、IO存取都是相同的介面來使用
※ 編輯: tainjoy 來自: 111.250.153.218 (06/02 09:52)
推 BF109Pilot:Cocos2d-html5透過JSB來跨平台有人玩過嗎??? 06/02 10:39
→ viceversa56:AIR or Unity,現在都有很多不錯的軟體,可去下載比較 06/02 12:07
→ viceversa56:我覺得這些都只是工具,哪個熟悉就用哪個 06/02 12:07
→ viceversa56:至於效能是可以從內部程式碼改善. 06/02 12:08
→ viceversa56:unity 和Flash這兩套軟體都算很上面層的程式語言 06/02 12:10
推 chenglap:FLASH 的效能不可能超過 cocos2d-x 06/02 12:10
→ chenglap:對我來說 FLASH 並不是一個多平臺的選擇. 06/02 12:10
→ chenglap:我並不是 Unity 派, 但 Unity 明顯就是為 3D 而生的. 06/02 12:12
→ viceversa56:和底層程式開發一定比不過,有一失必有一得 06/02 12:12
→ chenglap:如果我並不打算用 3D, 我不會用 Unity. 06/02 12:12
→ chenglap:如果我要用 2D, 我會用 cocos2d-x 06/02 12:12
→ chenglap:還是那句, 真的要用 flash, 何不用 Haxe? 06/02 12:17
推 chenglap:另一個問題自然是開發者的人數少, 僱請程設的困難度增. 06/02 12:25
→ chenglap:用一些不流行的工具會有請人難的問題. 06/02 12:25
→ chenglap:cocos2d-x 本身就接近多平臺, 沒理由一開始就排除. 06/02 12:27
你好,我本身是讚同你的觀點的,當然在開發3D遊戲時,Unity3D也會是我的首選
而我也是同意開發跨平台2D遊戲也會優先使用cocos2d-x
在於高效能與沒有做不到的事情基礎上,我也會推cocos2d-x做為適合開發2d遊戲
而不是Flash,而cocos2d-x在iOS上更是無痛開發,跟用cocos2d沒什麼差別
我的原因在於,AdobeAir就算使用Stage3D做為繪圖API提升效率
但如果開發到中期或後期發現效率不夠好,那就完了
但用cocos2d-x,比較不會有這問題,就算有,也有得救
只是我認為,在能控制並能充分發揮該遊戲效能的情況下
Flash也是一個不錯的選擇,最主要的原因在於跨平台的專案整合
cocos2d-x我第一個就先將他排除,而不是先排除Unity3D
原因在於跨平台專案的整合
cocos2d-x在之前我曾做過一個ios、android、windows提案給客戶用的prototype
在開發的同時,我只能顧及其中一個平台的專案,當我要回過頭為其它二個平台的專案
執行與Debug時,我需要花一堆時間重新整合,我實在無法想像做一個完整產品時要花
多少時間,android在ndk上也有許多的不方便
當然我也能理解要發佈到另一個平台時,本來就需要另外再花時間,只是我覺得能把時
間省下來工作上也會更有效率
另外你提到的Haxe,我查了一下它也有支援AdobeAir的Stage3d
只是我覺得開發flash用actionoscript較好,是因為它已經有很好用的2d game
framework與gui
因為用Haxe無法使用其它as3的函式庫會很可惜 (這邊若有錯誤請指正我)
另外是不流行的工具問題
我相信flash開發webgame的人很多,但是不知道為何開發行動平台的很少
我想是在於Adobe在初發展行動平台時沒有Stage3D與行動專用的api不多
在當時在行動裝置上效能差沒有人願意試,所以思考停留在flash還是只適合做webgame
自從有了stage3d,這二年更多了starling專門的2d game framework,它的api介面特地
做得與傳統flash提供的api有90%相似,我相信傳統as3 programmer是很容易上手的
因為我本身也是如此
但是如果直接要求會starling framework的人,的確是很少,你說的沒錯
推 littleshan:corona 現在可以寫 native plugin 了 06/02 13:07
※ 編輯: tainjoy 來自: 111.250.153.218 (06/02 13:20)
推 NDark:cocos2d-x的protype經驗我建議你可以整理出來. 06/02 15:51
→ NDark:這樣才有說服力. 06/02 15:51
cocos2d-x最主要的開發環境我通常是選擇Xcode,使用較親切也比較容易
那專案整合的問題大致上都是在android與windows
windows使用visual studio基本上沒什麼問題,該include的該link的設定好即可
但是會遇到一些在mac與windows上所使用第三方函式庫整合方式不同
另外也會有類似strcasecmp與stricmp這樣的問題
在過一段時間回頭整理時,除了上面該做的,也需要一一檢查哪些檔案要拉進專案
Android本身project需設定以外,也需要設定android.mk,我覺得這不是很親切的東西
我本身對compile的底子沒有很深,設定這些需要花一些功夫
當過一段時間回頭整理時,必須再花一時間檢查與設定
另外我覺得ndk不是很親切的東西,就算大部分的東西設定一次就可以,但也是有不少地
方需要設定,ndk-gdb也需要與ide做很多設定才行
這些事說麻煩也沒有那麼麻煩,只是必須一直要花時間去做
其實以程式的角度來說,這些事應該要做的,在以前總是不會想說這些事麻煩
只是工具選擇多了,就會開始考慮,畢竟這些工具都在進步
就會在心裡想,是否值得給它一個機會
※ 編輯: tainjoy 來自: 111.250.153.218 (06/02 17:23)
→ vamper:效能部分,數字出來就行了!告知老闆專案成本和風險就足夠了 06/02 20:58
→ vamper:專案完成時間估出來比較一下.讓老闆只管收錢就行,其他別想 06/02 20:59
推 leisele:cocos2d-x在跨平台上絕對不可能比AIR來得更好... 06/02 23:18
→ leisele:先不論效能,光debug,AIR就大勝,而且寫AS的人根本也不少 06/02 23:20
推 wnt2009:我沒用 Flash 只用過 Unity,Unity 2D 遊戲有 Plugin 的話 06/03 01:08
→ wnt2009:就沒什麼難度了 06/03 01:08
推 littleshan:unity 2D 的問題在於場景架構並不是為2D設計的 06/03 10:41
→ littleshan:其一是你要把某物件搬到另一個物件前,得計算兩邊的Z值 06/03 10:43
→ littleshan:當兩個物件底下都有children的時候就不是那麼好算了 06/03 10:43
→ littleshan:其二是無法藉由指定root node alpha讓一群物件變透明 06/03 10:45
→ littleshan:這點除了讓程式碼複雜化,在拉animation curve也很麻煩 06/03 10:46