一.c++调用uc脚本中的函数

举例:

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的规定。

二.uc脚本调用C++中的函数

举例:

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

{

void MyTestFunction()

..........

DECLARE_FUNCTION(execMyTestFunction)

{

P_FINISH;

this->MyTestFunction();

}

}

(3)AUTOGENERATE_FUNCTION( AUIGame, -1 , execMyTestFuction)

(4)FNativeFunctionLookup GLHGameAUIGameNatives[ ]=

{

MAP_NATIVE(AUIGame,execMyTestFunction)

}

注:这个数组的名字是G+游戏名+类名+Natives

c++与unreal 的uc脚本交互相关推荐

  1. Shell脚本交互:自动输入密码

    Shell脚本交互:自动输入密码 平时在控制台输入指令如:sudo.ssh.ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密 ...

  2. Shell脚本交互 expect 和send指令

    1 概述 expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.expect需要Tcl编程语言的支持,要在系统上运行expect必须首先安装Tcl. 2 expect ...

  3. bat脚本交互输入_Shell脚本的应用(一)

    会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送去帮助. 简介 随着Linux系统在企业中的应用越来越多,服务器的自动化管理 ...

  4. linux多进程spawn,【Linux Shell脚本编程】expect解决脚本交互 + Shell的多进程处理

    如果在没有使用密钥认证的情况下,想通过SSH来传输文件给多个主机会面临交互的问题,这在脚本中是非常不友好的.要解决这个问题的话可以使用expect这个工具,它的功能就是提前把交互中需要的内容先写好,然 ...

  5. UI悬浮窗控制台脚本交互

    牙叔教程 简单易学 使用场景 有界面, 有悬浮窗, 有脚本, 还不会交互, 就看这个 效果展示 流程图 autojs版本 8.7.7-0 get知识点 导入安卓类 停止其他脚本 设置状态栏颜色 获取状 ...

  6. Linux Shell 脚本交互输入

    一.常规输入:回车.Yes/No等 1.cat  +  文件 + 管道符 cat commend.txt | apt-get install ssh 2.echo + 管道符 echo -e &quo ...

  7. bat脚本交互输入_基于winserver操作系统的自动清理Oracle3天前归档日志脚本分享...

    概述 最近某台oracle数据库中的归档日志太多了,一天都有几十G的归档日志产生,总是提示归档空间满,导致orcle总是与服务器断开,所以就写了个定期清理Oracle归档日志的脚本,先看下整体思路. ...

  8. bat脚本交互输入_测评 | 不使用powershell运行 PowerShell 脚本的工具汇总

    不使用 powershell.exe 的情况下,可以运行 powershell 脚本和命令么? 可以的! 本文总结了6款可直接运行 powershell 脚本和命令的工具,献给所有的渗透测试人员和红队 ...

  9. bat脚本交互输入_windows 10 如何设定计划任务自动执行 python 脚本?

    场景: 我们都会用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能 ...

最新文章

  1. 微软亚洲研究院成立OpenNetLab,探索以“数据为中心”AI网络研究新范式!
  2. ubuntu pip
  3. ed是什么梗_花泽香菜不笑了什么梗怎么回事?花泽香菜为什么是宅男女神?
  4. abaqus python 建立节点集合_在Python中创建Abaqus集
  5. html 多层滚动,如何实现多个div同时滚动(3个以上)
  6. License Server Version 11.9 Installation on Windows Server 2003 Hangs
  7. [开发回忆录]第三方模块的松耦合
  8. 中国顶级黑客Top10,最后一位你猜是谁
  9. 如何使用QXDM 的1477项 转化utc时间
  10. 移远ec20型号区别_移远无线4G通讯原装模块-EC20
  11. (翻译)折叠菜单(Accordion Menu)
  12. 简单的路由器设置下一条(小白像)
  13. als算法参数_矩阵分解之交替最小二乘ALS
  14. 不知道何时,我逐渐丧失了表达能力
  15. 扫盲区分IaaS和PaaS
  16. 51951-04-3,Hydroxy-PEG2-CH2CO2H sodium salt羟基可以进一步衍生或替换为其他反应性官能团
  17. 法国计算机高等工程师学院排名,法国人工智能专业大学排名(2020年USNEWS)_快飞留学...
  18. 英国内政大臣:科技公司给信息加密不可接受
  19. 【雷达通信】雷达探测项目仿真附Matlab代码
  20. Linux arm cpu topology

热门文章

  1. Zabbix触发器配置指定生效星期监控CPU使用率
  2. 几款主流的 Python IDE
  3. 【Java】Exception in thread main java.lang.Error: Unresolved compilation problem
  4. 【Oracle】配置客户端监听
  5. WCF中因序列化问题引起的异常和错误。
  6. SharePoint 创建 Lookup 类型的Site Column解决跨站问题
  7. Project file is incomplete. Expected imports are missing 错误解决方案
  8. 解决nginx端口占用问题
  9. js做四则运算时,精度丢失问题及解决方法
  10. 解决Vue循环中子组件不实时更新的问题