舉例: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指令碼還沒有支援嵌入版,希望不遠的的將...