c 與unreal 的uc指令碼互動

2021-06-26 05:21:40 字數 1302 閱讀 2239

舉例:1.在指令碼menumanager.uc檔案中實現函式:

event loadfrontend()

..............

這個指令碼對應的c++檔案為:menumanager.cpp

2.修改完uc指令碼之後,我們要立刻進行編譯指令碼,方法如下:

開啟cmd進入到unkgame.exe這個檔案的目錄,輸入命令:udkgame.exe make -full -debug 進行編譯。

3.我們在c++呼叫這個uc中的這個函式的形式是:

umenumanager::getinstance().eventloadfrontend();

先得到umenumanger這個類的乙個例項,然後呼叫函式,可以看到我們呼叫的函式形式變為了:event 與 loadfrontend 組合的函式名。這應該是unreal的規定。

舉例:1.在指令碼menumanager.uc 檔案中宣告:

native final function mytestfunction()        (注:因為返回值是void,所以這裡沒有寫出來)

2.修改完uc指令碼之後,我們要立刻進行編譯指令碼,方法如下:

開啟cmd進入到unkgame.exe這個檔案的目錄,輸入命令:udkgame.exe make -full -debug 進行編譯。

3.在menumanager.uc對應的menumanager.cpp檔案中實現在uc指令碼中宣告的函式,形式如下:

void umenumanager::mytestfunction()

....................//實現

}4.在任何uc指令碼中就可以呼叫這個showlhmessage函式了,如下:

menumgrref.mytestfunction();

還是首先得到了例項,然後呼叫函式。

1.用二來舉例,講解unreal實現的細節,為什麼這樣就實現了互動?

當我們在uc指令碼呼叫c++函式的第二部完成後,即編譯完uc指令碼。此時會在我們指定的乙個標頭檔案.h中生成相關**

(1)class auigame

(3)autogenerate_function( auigame, -1 , execmytestfuction)

(4)fnativefunctionlookup glhgameauigamenatives[ ]=

注:這個陣列的名字是g+遊戲名+類名+natives

C 與IronPython指令碼進行資料互動示例

單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。ironpython指令碼最優秀的地方就是與c 或者說.net框架集 幾乎無縫整合,c 實現的類很容易就傳入到指令碼中去。目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將...

C 與IronPython指令碼進行資料互動示例

單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。ironpython指令碼最優秀的地方就是與c 或者說.net框架集 幾乎無縫整合,c 實現的類很容易就傳入到指令碼中去。目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將...

C 與IronPython指令碼進行資料互動示例

單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。ironpython指令碼最優秀的地方就是與c 或者說.net框架集 幾乎無縫整合,c 實現的類很容易就傳入到指令碼中去。目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將...