2013年8月19日 星期一
2013年8月5日 星期一
退出(結束)Unity遊戲
呼叫下列函式退出遊戲
Application.Quit();
若退出時畫面會閃,可用下列方法試試
System.Diagnostics.Process.GetCurrentProcess().Kill();
Application.Quit();
若退出時畫面會閃,可用下列方法試試
System.Diagnostics.Process.GetCurrentProcess().Kill();
2013年7月24日 星期三
2013年7月17日 星期三
修改 FixedUpdate() 固定時間間隔呼叫的參數
Edit -> Project Setting -> time 下面的 Fixed timestep
ex. Fixed timestep = 0.0333,約30FPS(1/30)
ex. Fixed timestep = 0.0333,約30FPS(1/30)
2013年6月17日 星期一
MonoDevelop Debug
1.選擇Assets->Sync MonoDevelop Project。然後Unity3d會自動在你的工程目錄下建立一個visual工程(以.sln結尾的文件)。關閉你的Unity3d。
2.打開MonoDevelop工具,File->Open,找到你剛才生成的.sln文件,然後打開。文件打開後按快捷鍵F5,這時候MonoDevelop工具會自動連接對應的Uniyt3d工程進行同步。
3.在MonoDevelop工具中寫好測試代碼,然後在你需要Debug的代碼行處添加好斷點,然後切回到Unity3d工程點擊運行,當unity3d執行的你加好斷點的位置,就會自動停止下來,這時候你可以在monoDevelop中的斷點處查找到此時你想要的某變量的值了。
4.MonoDevelop預設的Debug目錄在My Documents,若遊戲並非放在此目錄,需修改"Editor" field in "MonoDevelop >> Preferences >> Unity >> Debugger" to your "Unity.exe".
2.打開MonoDevelop工具,File->Open,找到你剛才生成的.sln文件,然後打開。文件打開後按快捷鍵F5,這時候MonoDevelop工具會自動連接對應的Uniyt3d工程進行同步。
3.在MonoDevelop工具中寫好測試代碼,然後在你需要Debug的代碼行處添加好斷點,然後切回到Unity3d工程點擊運行,當unity3d執行的你加好斷點的位置,就會自動停止下來,這時候你可以在monoDevelop中的斷點處查找到此時你想要的某變量的值了。
4.MonoDevelop預設的Debug目錄在My Documents,若遊戲並非放在此目錄,需修改"Editor" field in "MonoDevelop >> Preferences >> Unity >> Debugger" to your "Unity.exe".
呼叫在不同script中的參數或函式.
1. 參數 :
若有宣告的參數需要在不同class中共用,建議建立一個script統一管理.(例如GameCommitInterface)
a. 在GameCommitInterface中先宣告成public static 型態 參數名稱
b. 在欲使用的script中,使用GameCommitInterface.參數名稱
2. 函式 :
假定有A、B兩個script,在A中要呼叫 B class中的 function
a.在B script中被呼叫的function前面要加public
b.在A script中先宣告一個欲使用函式的class物件,ClassName object;
c.在呼叫函式前先使用,object = gameObject.GetComponent<ClassName>();
d.可以開始在A script中使用函式,object.function();
若有宣告的參數需要在不同class中共用,建議建立一個script統一管理.(例如GameCommitInterface)
a. 在GameCommitInterface中先宣告成public static 型態 參數名稱
b. 在欲使用的script中,使用GameCommitInterface.參數名稱
2. 函式 :
假定有A、B兩個script,在A中要呼叫 B class中的 function
a.在B script中被呼叫的function前面要加public
b.在A script中先宣告一個欲使用函式的class物件,ClassName object;
c.在呼叫函式前先使用,object = gameObject.GetComponent<ClassName>();
d.可以開始在A script中使用函式,object.function();
Plugin Dll
1. 需要在程式聲明中使用using System.Runtime.InteropServices命名空間.
2. DllImport只能放置在方法聲明上.
3. 每呼叫一次plugin的函式之前,都要使用[DllImport ("DLL檔案名稱")]
4. DLL檔案須放在[Assets\Plugins]資料夾中.
2. DllImport只能放置在方法聲明上.
3. 每呼叫一次plugin的函式之前,都要使用[DllImport ("DLL檔案名稱")]
4. DLL檔案須放在[Assets\Plugins]資料夾中.
Debug.Log() 使用上的好處!!
若有使用System.Console.Write()、System.Console.WriteLine()、print()以上等函數在發布iOS時都會被當成Exception來處裡
唯一能使用的是Debug.Log()。
唯一能使用的是Debug.Log()。
中文註解
JavaScript文件中可使用中文註解,C#使用中文註解則會發生有時編譯錯誤的問題.
解決方式,在Mac中只要將檔案格式轉成utf-16即可,Windows中轉成utf-8,預設為utf-8,但不是真正utf-8,建議另外用別的編輯器開啟->另存成utf-8格式然後再覆蓋回去即可.
解決方式,在Mac中只要將檔案格式轉成utf-16即可,Windows中轉成utf-8,預設為utf-8,但不是真正utf-8,建議另外用別的編輯器開啟->另存成utf-8格式然後再覆蓋回去即可.
電視牆做法
1. 在Assets中新增一個 Render Texture.
2. 根據電視牆的比例設置 Render Texture的Size (因為Size數值只有固定幾種,就選接近的數值比例).
3. 在要顯示電視牆內容的 Camera物件中,找到 Target Texutre選項,內容指向上述的 Render Texture.
4. 在Assets中新增一個 Material.
5. 將 Render Texture加到此Material上.
6. 將此 Material加到 Plane、Cube等物件上就形成電視牆.
2. 根據電視牆的比例設置 Render Texture的Size (因為Size數值只有固定幾種,就選接近的數值比例).
3. 在要顯示電視牆內容的 Camera物件中,找到 Target Texutre選項,內容指向上述的 Render Texture.
4. 在Assets中新增一個 Material.
5. 將 Render Texture加到此Material上.
6. 將此 Material加到 Plane、Cube等物件上就形成電視牆.
2013年5月27日 星期一
Unity3D-設定遊戲FPS
1.首先在Edit->Project Setting->Quality中VSync Count選項設定為Don't Sync(Every Second VBlank好像也行)
2.於Script中加入以下程式碼:
private void Awake()
{
Application.targetFrameRate = 30;
}
2.於Script中加入以下程式碼:
private void Awake()
{
Application.targetFrameRate = 30;
}
訂閱:
文章 (Atom)