转自:http://m.blog.csdn.net/blog/qweewqpkn/39932499

一.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, - , execMyTestFuction)

(4)

FNativeFunctionLookup GLHGameAUIGameNatives[ ]=
{
MAP_NATIVE(AUIGame,execMyTestFunction)
}

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

C++与UnrealScript脚本交互的更多相关文章

  1. scaleform中ActionScript和UnrealScript的交互

    转自:http://www.cnblogs.com/NEOCSL/p/4174134.html scaleform是制作UI的好工具: 1.他可以解放程序员用代码控制的UI效果,例如平移,旋转和缩放都 ...

  2. Unity NGUI 网络斗地主 -发牌 脚本交互

    Unity NGUI 网络斗地主 -发牌 脚本交互 @By 灰太龙 Unity4.2.1f4 NGUI 3.0.4 本篇说的问题是脚本与控件的交互! 现在对界面进行了改进,先看副图! 1.制作发牌效果 ...

  3. shell脚本交互:expect学习笔记及实例详解

    最近项目需求,需要写一些shell脚本交互,管道不够用时,expect可以很好的实现脚本之间交互,搜索资料,发现网上好多文章都是转载的,觉得这篇文章还不错,所以简单修改之后拿过来和大家分享一下~ 1. ...

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

    Shell脚本交互之:自动输入密码 2016年04月09日 19:41:26 zhangjikuan 阅读数:58208 标签: Shell交互自动输入密码expect重定向管道 更多 个人分类: A ...

  5. linux expect 即exp脚本交互功能【原】

    场景 expect命令用于任何自动化互动的过程. send – 发送字符串到进程 expect – 等待来自进程的特定的字符串 spawn – 启动命令 安装 expect一开始100%不存在, 手动 ...

  6. c++与js脚本交互,C++调用JS函数/JS调用C++函数

    <!DOCTYPE html> <html> <body> <h1>我的第一段 JavaScript</h1> <p> Java ...

  7. SWIG 和 Python——c/c++与脚本交互

    C 和 C++ 被公认为(理当如此)创建高性能代码的首选平台.对开发人员的一个常见要求是向脚本语言接口公开 C/C++ 代码,这正是 Simplified Wrapper and Interface ...

  8. c++与js脚本交互,C++调用JS函数JS调用C++函数

    一.javascript调用c++,方法有两种 方案1: 1.html编写 <html><head></head><body><h1>TES ...

  9. vc++调用msscript.ocx解析实现C++与JavaScript脚本交互

    ScriptControl接口 属性名称 类型 备注 AllowUI BOOL 检测是否允许运行用户的接口元素.如果为False,则诸如消息框之类的界面元素不可见. CodeObject Object ...

随机推荐

  1. API自动化测试利器——Postman

    自从开始做API开发之后,我就在寻找合适的API测试工具.一开始不是很想用Chrome扩展,用的WizTools的工具,后来试过一次Postman之后就停不下来了,还买了付费的Jetpacks.推出T ...

  2. 【BZOJ3065】带插入区间K小值 替罪羊树+权值线段树

    [BZOJ3065]带插入区间K小值 Description 从前有n只跳蚤排成一行做早操,每只跳蚤都有自己的一个弹跳力a[i].跳蚤国王看着这些跳蚤国欣欣向荣的情景,感到非常高兴.这时跳蚤国王决定理 ...

  3. Angular入门(一) 环境配置

    angular/cli 安装 ♦ npm uninstall -g angular-cli /cnpm install -g angular-cli ※采用npm安装失败: Missing write ...

  4. 消息队列activeMq 使用介绍

      深入浅出 消息队列 ActiveMQhttp://blog.csdn.net/jwdstef/article/details/17380471 一. 概述与介绍 ActiveMQ 是Apache出 ...

  5. input file 选择Excel文件 相关操作

    1.HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebFo ...

  6. 九度OJ 1022:游船出租 (统计)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3670 解决:1444 题目描述:     现有公园游船租赁处请你编写一个租船管理系统.当游客租船时,管理员输入船号并按下S键,系统开始计时 ...

  7. centos 7 官网安装 PostgreSQL

    https://www.postgresql.org/download/linux/redhat/

  8. 【ELK】Elasticsearch的备份和恢复

    非原创,只是留作自己查询使用,转自http://keenwon.com/1393.html Elasticsearch的备份和恢复 备份 Elasticsearch的一大特点就是使用简单,api也比较 ...

  9. 怎样避免C#中将小数转换为字符串时出现科学记数法

    在C#中如果float.double.decimal类型的值,小数点后的0太多时,C#会用科学记数法来表示小数的值. 例如下面的double类型0.00009,如果我们直接将其用ToString()方 ...

  10. touchweb手机网站图片加载方法(canvas加载和延迟加载)

    一.canvas图片加载 关于canvas加载,我的方法是,将文章中所有用到图片的地方,都用canvas代替,给canvas一个data-src,里面存放img的路径,通过canvas方法渲染图片.因 ...