Android 開發入門
為運行 Android 作業系統的裝置構建遊戲的方法與 iOS 開發類似。然而,所有 Android 裝置的硬體並非完全標準,這樣會出現 iOS 開發中沒有的問題。與 iOS 版本相比,Android 版本的 Unity 存在一些功能上的差異。
設定 Android 開發人員環境
在裝置上測試 Unity 遊戲之前,您將需要設定 Android 開發人員環境。這涉及在不同的 Android 平台上下載並安裝 Android SDK,並將物理裝置添加至您的系統(Windows 或 Mac 可能有所不同)。這個設定過程在 Android 開發人員網站有詳細說明,並且裝置的製造商可能會提供更多資訊。由於這是一個複雜的過程,我們為在 Android 裝置或 Android 模擬器上運行代碼之前必須完成的任務提供了基本概述。但最好還是遵照Android 開發人員門戶網站給出的步驟指示。
訪問 Android 功能
Unity Android 提供指令碼 API,以訪問多種輸入資料和設定。您可以在 Android 指令碼頁面瞭解更多有關可用類的詳細資料。
指令碼訪問本機 Native C、C++ 或 Java 代碼
Unity Android 允許您直接從 C# 指令碼調用使用 C、C++ 或 Objective-C 編寫的自訂本機函數(Java 函數可以直接調用)。如需瞭解如何在 Unity 訪問本機函數,請參閱外掛程式頁面。
遮擋剔除
Unity 支援遮擋剔除,這是移動平台難能可貴的一項最佳化。如需瞭解更多資訊,請參閱遮擋剔除頁面。
定製啟動畫面 (Splash Screen)
可以自訂遊戲啟動時顯示的啟動畫面 - 請參閱此頁瞭解更多詳情。
故障排除與錯誤報表
應用程式崩潰或無法像預期一樣啟動並執行原因多種多樣。我們的There are many reasons why your application may crash or fail to work as you expected. Our Android 故障排除指南將協助您儘快找到錯誤的根源。如果在查閱指南之後,您懷疑故障是 Unity 內部問題,那麼就應該提交錯誤報表 - 請參閱此頁瞭解如何完成這一操作的更多詳情。
Unity Android 和案頭 Unity 有何不同
強型別的 JavaScript
出於效能原因,在 Unity Android 中,Javascript 動態類型始終關閉,有如將 #pragma strict 自動應用到所有指令碼。瞭解這一點非常重要,因為如果啟動最初為案頭平台開發的工程,當切換到 Android 時,您可能會遇到意想不到的編譯錯誤;動態類型的首要任務是調查。如果可以確保所有變數是顯式類型或初始化時使用類型推斷,這些錯誤通常很容易修複。
建議最好使用 ETC 作為紋理壓縮格式
雖然 Unity Android 不支援 DXT/PVRTC/ATC 格式的紋理,如果使用的特定裝置不支援這些壓縮方法,Unity 會在運行時解壓縮紋理到 RGB(A) 格式。這樣可能影響 GPU 的渲染速度,所以推薦使用 ETC 格式替代。ETC 已作為 Android 2.0 之後所有版本的標準壓縮格式。ETC 不支援 Alpha 色板,考慮到必須使用 alpha 的大小、品質和渲染速度,RGBA 16-bit 將是最好的選擇。
您可以為每種 DXT/PVRTC/ATC 格式建立分離的 android 分配存檔 (.apk) 並讓 Android Market 的過濾系統為不同裝置選擇正確的存檔。(請查閱發布 Android 編譯)。
電影回放
Android 不支援電影紋理,但是它通過指令碼函數提供全屏流播放。如需瞭解 Android 支援哪些檔案格式和指令碼 API 的資訊,請參閱電影頁面或Android 支援的媒體格式頁面。
本教程文章由遊戲蠻牛Cocos2D教程整理推薦