IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> UE4学习之路:Puerts安装和调试 -> 正文阅读

[游戏开发]UE4学习之路:Puerts安装和调试

Puerts是什么:

? ? ? ? ?是腾讯出品的一个游戏引擎下的TypeScript编程的解决方案,简单说就是类似一个插件,可以让ts代码调用UE4的接口等。
? ? ? ? 使用Puerts必须知道什么是typescript脚本语言:是JavaScript的超集,添加了可选的静态类型系统以及其他新特性,最终还是被编译为JavaScript代码。JavaScript代码经过V8引擎的编译为机器码,然后交给硬件执行。

Puerts怎么安装:

1.获取:
? ? ? ??官网:https://github.com/Tencent/puerts,
2.安装:
? ? ? ? 官网简单介绍了怎么安装,也可以参考其他安装方案
? ? ? ? https://zhuanlan.zhihu.com/p/397369095
? ? ? ? 下面是我自己摸索的截图等:
? ? ? ? ?a. 创建一个空c++项目,取名InstallPuerts:
? ? ? ? ??
? ??
? ? ? ? ?b.项目根目录创建一个Plugins文件,把官网获取到的puerts-master\unreal下的Puerts拷贝到Plugin文件里:
? ? ? ? ?

? ? ? ? ?然后再Puerts目录里打开命令行执行:node enable_puerts_module.js
? ? ?

? ? ? ?c.然后重新生成下项目:
? ? ? ?
? ? ? d.回到根目录,执行命令行:npm init:然后一阵确定键,最后创建出package.json文件,
? ? ??
? ? ? e.重新打开ue4项目文件:然后点击是编译
? ? ??
? ? ?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首先开发模式是有两种的:上面是大佬宣讲的内容,会介绍的比较详细。
? ? ??[UnrealCircle深圳] puerts-UE下TypeScript编程插件 | 腾讯 车雄生_哔哩哔哩_bilibili

? ? ? ?

下面是官方文档的介绍:?

方式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”页面中开启调试以及设置端口

puerts_conf

  • 勾选WaitDebugger是阻塞等待调试器链接
    • 调试器通过websocket连接,期间有TCP的握手,websocket握手,建立连接后,调试器和V8还会交换些信息,整个过程大概几百毫秒
    • 在这几百毫秒内执行的脚本将无法断点,如果你想断点这些代码,可以用puerts的阻塞等待调试器连接功能

?一定要根据自己项目的开发方式选择调试方式,否则是断不到点的。

在VsCode里的设置可以看下面大佬的文章

?额外参考:关于调试的原理:Puerts Inspector指南(一)在UE4和Unity里调试Javascript - 知乎

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:22:27  更:2022-01-08 14:23:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 19:53:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码