在開發過程中避免不了各種debug除錯,在打包的時候為了減少效能消耗,需要將所有的debug注釋或刪除掉。如果再次調整則需要取消注釋,來回折騰很是麻煩。之前嘗試將debug簡單的封裝到乙個類,利用乙個bool控制是否啟用debug功能,正常開發是只需將bool值設為true,打包時設為false即可,但這樣就有了更大的乙個問題,在控制台雙擊log時,只能跳轉到封裝的debug類裡,不能定位到實際呼叫的指令碼,反而使開發變得更繁瑣。這裡就需要用到dll檔案了,將debug類封裝成dll,可以完美解決以上所有問題~
如何將unity中的指令碼檔案轉為dll檔案
僅適用於windows,在mac環境下嘗試過可惜沒成功······
有幾點需要注意:
1. 目標框架 要選擇.net framework 3.5
2. debug需要引用unity的unityengine.dll,在unity安裝路徑下\editor\data\managed\unityengine.dll
3. 下面是我封裝的**:
using unityengine;
public class debuger
{ public static bool enable = true;
public static void log(object message)
{if (enable)
{debug.log(message);}}
public static void log(object message, unityengine.object context)
{if (enable)
{debug.log(message, context);}}
public static void logformat(unityengine.object context, string message, params object args)
{if (enable)
{debug.logformat(context, message, args);}}
public static void logformat(string message, params object args)
{if (enable)
{debug.logformat(message, args);}}
public static void logerror(object message)
{if (enable)
{debug.logerror(message);}}
public static void logerrorformat(unityengine.object context, string message, params object args)
{if (enable)
{debug.logerrorformat(context, message, args);}}
public static void logerror(object message, unityengine.object context)
{if (enable)
{debug.logerror(message, context);}}
public static void logwarning(object message)
{if (enable)
{debug.logwarning(message);}}
public static void logwarning(object message, unityengine.object context)
{if (enable)
{debug.logwarning(message, context);}}
public static void logwarningformat(string message, params object args)
{if (enable)
{debug.logwarningformat(message, args);}}
public static void logwarningformat(unityengine.object context, string message, params object args)
{if (enable)
{debug.logwarningformat(context, message, args);}}
public static void break()
{if (enable)
{debug.log("debuger break ");
debug.break();}}
}
將C 介面封裝成C函式
在某些情況下,需要將c 的介面封裝成c函式。首先,我們準備乙個c 的so檔案,它由以下h和cpp檔案生成 chengyi localhost cytest cat cy test.h class a public a virtual a int gt int pt private int s che...
Qt將QML檔案封裝成動態庫
參考 只要看上面的那個鏈結就好,對方寫得十分詳細了。我這裡只是做一些補充 主要是為了方便我日後查詢 1.他的文章裡面提到的 0x02 1 新增自定義.qml元件 這裡沒有具體說怎麼新增。其實需要我們先增加乙個qt資源檔案,然後再在檔案裡面新增。2.假如你匯出的qml檔案a中引用了你自己新建的qml檔...
Unity3D 封裝 繼承
今天先簡單的複習下封裝 封裝 將資料和操作組合到一起,並決定哪些資料和操作對外是可見的。封裝把物件的所有組成部分組合在一起,有三個作用 1.隱藏類的實現細節 使用方法將類的資料隱藏起來。2.迫使使用者去使用乙個介面去訪問資料 定義程式如何引用物件的資料,控制使用者對類的修改和訪問資料的程度。3.使 ...