c++与unreal 的uc脚本交互
一.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脚本交互相关推荐
- Shell脚本交互:自动输入密码
Shell脚本交互:自动输入密码 平时在控制台输入指令如:sudo.ssh.ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密 ...
- Shell脚本交互 expect 和send指令
1 概述 expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.expect需要Tcl编程语言的支持,要在系统上运行expect必须首先安装Tcl. 2 expect ...
- bat脚本交互输入_Shell脚本的应用(一)
会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送去帮助. 简介 随着Linux系统在企业中的应用越来越多,服务器的自动化管理 ...
- linux多进程spawn,【Linux Shell脚本编程】expect解决脚本交互 + Shell的多进程处理
如果在没有使用密钥认证的情况下,想通过SSH来传输文件给多个主机会面临交互的问题,这在脚本中是非常不友好的.要解决这个问题的话可以使用expect这个工具,它的功能就是提前把交互中需要的内容先写好,然 ...
- UI悬浮窗控制台脚本交互
牙叔教程 简单易学 使用场景 有界面, 有悬浮窗, 有脚本, 还不会交互, 就看这个 效果展示 流程图 autojs版本 8.7.7-0 get知识点 导入安卓类 停止其他脚本 设置状态栏颜色 获取状 ...
- Linux Shell 脚本交互输入
一.常规输入:回车.Yes/No等 1.cat + 文件 + 管道符 cat commend.txt | apt-get install ssh 2.echo + 管道符 echo -e &quo ...
- bat脚本交互输入_基于winserver操作系统的自动清理Oracle3天前归档日志脚本分享...
概述 最近某台oracle数据库中的归档日志太多了,一天都有几十G的归档日志产生,总是提示归档空间满,导致orcle总是与服务器断开,所以就写了个定期清理Oracle归档日志的脚本,先看下整体思路. ...
- bat脚本交互输入_测评 | 不使用powershell运行 PowerShell 脚本的工具汇总
不使用 powershell.exe 的情况下,可以运行 powershell 脚本和命令么? 可以的! 本文总结了6款可直接运行 powershell 脚本和命令的工具,献给所有的渗透测试人员和红队 ...
- bat脚本交互输入_windows 10 如何设定计划任务自动执行 python 脚本?
场景: 我们都会用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能 ...
最新文章
- 微软亚洲研究院成立OpenNetLab,探索以“数据为中心”AI网络研究新范式!
- ubuntu pip
- ed是什么梗_花泽香菜不笑了什么梗怎么回事?花泽香菜为什么是宅男女神?
- abaqus python 建立节点集合_在Python中创建Abaqus集
- html 多层滚动,如何实现多个div同时滚动(3个以上)
- License Server Version 11.9 Installation on Windows Server 2003 Hangs
- [开发回忆录]第三方模块的松耦合
- 中国顶级黑客Top10,最后一位你猜是谁
- 如何使用QXDM 的1477项 转化utc时间
- 移远ec20型号区别_移远无线4G通讯原装模块-EC20
- (翻译)折叠菜单(Accordion Menu)
- 简单的路由器设置下一条(小白像)
- als算法参数_矩阵分解之交替最小二乘ALS
- 不知道何时,我逐渐丧失了表达能力
- 扫盲区分IaaS和PaaS
- 51951-04-3,Hydroxy-PEG2-CH2CO2H sodium salt羟基可以进一步衍生或替换为其他反应性官能团
- 法国计算机高等工程师学院排名,法国人工智能专业大学排名(2020年USNEWS)_快飞留学...
- 英国内政大臣:科技公司给信息加密不可接受
- 【雷达通信】雷达探测项目仿真附Matlab代码
- Linux arm cpu topology
热门文章
- Zabbix触发器配置指定生效星期监控CPU使用率
- 几款主流的 Python IDE
- 【Java】Exception in thread main java.lang.Error: Unresolved compilation problem
- 【Oracle】配置客户端监听
- WCF中因序列化问题引起的异常和错误。
- SharePoint 创建 Lookup 类型的Site Column解决跨站问题
- Project file is incomplete. Expected imports are missing 错误解决方案
- 解决nginx端口占用问题
- js做四则运算时,精度丢失问题及解决方法
- 解决Vue循环中子组件不实时更新的问题