真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

UnitySLua如何調(diào)用Unity中C#方法

                

義縣網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,義縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為義縣上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的義縣做網(wǎng)站的公司定做!

1.原理

就是通常在Lua框架中所說的,開放一個(gè)C#的web接口,或者叫做在Slua框架中注冊(cè)函數(shù)。

2.作用

在Lua中調(diào)用C#中的方法,這個(gè)是在做熱更新中很常用的一種方法,無論是slua,還是lua,都差不多、這里,我拿slua舉例。

3.實(shí)際運(yùn)用 舉例:如何在Slua中打印Log

原理:其實(shí)是slua通過調(diào)用C#中的Debug.Log方法實(shí)現(xiàn)的打印,并不是說是lua中的打印方法起到作用。

步驟:

首先,既然是Lua調(diào)用C#中的方法,這里自定義寫一個(gè)打印log的方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class CDebug {
 
    ///
    /// lua中打印Log
    ///
    /// 標(biāo)題
    /// 內(nèi)容
    public static void Log(string title,string contents)
    {
        int level = 3;
        //這里代碼不需要解釋把,如果對(duì)顏色有需求,可以自己稍微修改一下。
        switch(level)
        {
            case 1:
                Debug.Log(contents);
                break;
            case 2:
                Debug.LogWarning(title+":"+ contents);
                break;
            case 3:
                Debug.LogError(title + ":" + contents);
                break;
            default:
                Debug.Log(contents);
                break;
        }
    }
}

  I:

Unity SLua 如何調(diào)用Unity中C#方法

注意圖中 標(biāo)紅。一般每個(gè)lua框架中,都會(huì)有這么個(gè)注冊(cè)函數(shù),加了這個(gè)注冊(cè)函數(shù)。才會(huì),有下面那步。執(zhí)行。

 

II:

點(diǎn)擊 Slua->Custom->Make

之后,發(fā)現(xiàn)編譯之后,多一個(gè):

Unity SLua 如何調(diào)用Unity中C#方法

 

III:

注意:之后我們可以看到多了一個(gè)腳本,用svn版本控制,對(duì)比一下文件,其實(shí)還是有其他地方改動(dòng)的。

會(huì)發(fā)現(xiàn)BindCustom文件中的代碼變成了

1
2
3
4
5
6
7
8
9
10
11
12
13
public class BindCustom {
        public static Action[] GetBindList() {
            Action[] list= {
 
                 Lua_CDebug.reg, //這是自動(dòng)生成的,多附加的
// 因?yàn)橹拔覀兛吹紺ustomExport腳本中的OnAddCustomClass方法中
//很多方法是被注釋了,所以,需要手動(dòng)把之前生成過的文件加上,具體看
//SVN版本控制對(duì)比一下BundCustom腳本,需要把之前生成過的代碼
//手動(dòng)加上。
//附加:這個(gè)不是什么BUG,因?yàn)閯e人以為所有需要在Lua中調(diào)用C#的代碼都附加好了,
//所以,不需要了,假如我們的項(xiàng)目需要上線,也需要還原Log方法,因?yàn)樗麜?huì)打包到
//apk包中的.

這樣一個(gè)調(diào)用C#中的方法的功能做完了,其他的類似的,仿照這個(gè)例子就可以。


新聞標(biāo)題:UnitySLua如何調(diào)用Unity中C#方法
標(biāo)題來源:http://weahome.cn/article/gsghjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部