標籤:style blog class code tar color
今天搞了個unity3d遊戲,準備部署到自己的lumia 920上,資料線串連正常,操作正常,但是“build”以後,始終無法部署到手機上,也沒有在選擇的目錄下生產任何相關檔案。
但是提示有一個錯誤:
Error building Player: Exception: Error: method `System.Byte[] System.IO.File::ReadAllBytes(System.String)` doesn‘t exist in target framework. It is referenced from Assembly-CSharp.dll at System.Byte[] NGUITools::Load(System.String). 意思是NGUITools.cs裡面的Load()方法有問題,導致無法部署。解決方案:找到NGUITools.cs,找到Load()方法。代碼如下:?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/// <summary> /// Load all binary data from the specified file. /// </summary> static public byte [] Load ( string fileName) { #if UNITY_WEBPLAYER || UNITY_FLASH return null ; #else if (!NGUITools.fileAccess) return null ; string path = Application.persistentDataPath + "/" + fileName; if (File.Exists(path)) { return File.ReadAllBytes(path); } return null ; #endif } |
只要在#if UNITY_WEBPLAYER || UNITY_FLASH後面加個“UNITY_WP8”就可以了。
完整代碼:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/// <summary> /// Load all binary data from the specified file. /// </summary> static public byte [] Load ( string fileName) { #if UNITY_WEBPLAYER || UNITY_FLASH||UNITY_WP8 return null ; #else if (!NGUITools.fileAccess) return null ; string path = Application.persistentDataPath + "/" + fileName; if (File.Exists(path)) { return File.ReadAllBytes(path); } return null ; #endif } |
之後,按照部署步驟,Build以後就可以看到遊戲安裝到手機上了。
參考資料:
http://www.tasharen.com/forum/index.php?topic=6625.0
unity3d部署到wp手機:
http://game.ceeger.com/Manual/wp8-deployment.html