|
Puerts是什么:
是腾讯出品的一个游戏引擎下的TypeScript编程的解决方案,简单说就是类似一个插件,可以让ts代码调用UE4的接口等。
使用Puerts必需知道什么是typescript脚本语言:是JavaScript的超集,添加了可选的静态类型系统以及其他新特性,最终还是被编译为JavaScript代码。JavaScript代码颠末V8引擎的编译为机器码,然后交给硬件执行。
Puerts怎么安装:
1.获取:
官网:https://github.com/Tencent/puerts,
2.安装:
官网简单介绍了怎么安装,也可以参考其他安装方案
嫩仔的春天:Puerts & ReactUMG 环境搭建(二)
下面是我本身摸索的截图等:
a. 创建一个空c++项目,取名InstallPuerts:
b.项目根目录创建一个Plugins文件,把官网获取到的puerts-master\unreal下的Puerts拷贝到Plugin文件里:
然后再Puerts目录里打开命令行执行:node enable_puerts_module.js
c.然后从头生成下项目:
d.回到根目录,执行命令行:npm init:然后一阵确定键,最后创建出package.json文件,
e.从头打开ue4项目文件:然后点击是编译,如果编译掉败,把Vs编译模式改为Development
f.打开后,点击按钮:用于生成撑持ts调用ue4的接口等:
g.让我们写一段代码测试下:打开VsCode,打开项目根目录,在TypeScript文件夹中,创建一个TS_Player.ts脚本文件:
代码如下:
import * as UE from 'ue'
class TS_Player extends UE.Character {
ReceiveBeginPlay(): void {
console.log(”----------------------------hello,world”);
}
}
export default TS_Player 在Ue4 中,把生成的类简单拖参加景中,然后运行看输出成果:
运行,看控制台输出:打印出了hello,wordl
到此大功告成!
Puerts的调试:
怎么断点是斗劲关心的,下面说下ts怎么断点
Puerts首先开发模式是有两种的:上面是大佬宣讲的内容,会介绍的斗劲详细。
方式1:自创建虚拟机模式下调试配置
创建FJsEnv传入调试端口
//8080是调试端口 GameScript = MakeShared<puerts::FJsEnv>(std::make_unique<puerts::DefaultJSModuleLoader>(TEXT(”JavaScript”)), std::make_shared<puerts::FDefaultLogger>(), 8080);
阻塞等待调试器链接
GameScript = MakeShared<puerts::FJsEnv>(std::make_unique<puerts::DefaultJSModuleLoader>(TEXT(”JavaScript”)), std::make_shared<puerts::FDefaultLogger>(), 8080);
GameScript->WaitDebugger();
GameScript->Start(”QuickStart”, Arguments);
方式2:自动绑定模式下调试配置
菜单上选择“编纂->项目设置”,打开设置页面后在“插件->Puerts Setting”页面中开启调试以及设置端口
勾选WaitDebugger是阻塞等待调试器链接
调试器通过websocket连接,期间有TCP的握手,websocket握手,成立连接后,调试器和V8还会交换些信息,整个过程概略几百毫秒
在这几百毫秒内执行的脚本将无法断点,如果你想断点这些代码,可以用puerts的阻塞等待调试器连接功能
必然要按照本身项目的开发方式选择调试方式,否则是断不到点的。
在VsCode里的设置可以看下面大佬的文章
额外参考: |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|