【 Godot 4 学习笔记】HTTPRequest
在 Godot 引擎中HTTPRequest是最核心且最方便的内置节点专门用于发送 HTTP 请求如 GET、POST与 Web 服务器或 API 进行交互。以下是使用HTTPRequest节点的完整步骤和代码示例以 GDScript 为例️ 1. 基础使用步骤添加节点在场景中右键点击根节点选择“添加子节点”搜索并添加HTTPRequest节点。连接信号HTTPRequest发送请求后会通过request_completed信号返回结果你需要将这个信号连接到你的脚本上。发送请求在代码中调用request()方法来发起网络请求。 2. 发送 GET 请求获取数据GET 请求常用于从服务器获取 JSON 数据或文本信息。extends Node # 假设你已经在编辑器中添加了 HTTPRequest 子节点并命名为 HTTPRequest onready var http_request $HTTPRequest func _ready(): # 1. 连接请求完成的信号 http_request.request_completed.connect(_on_request_completed) # 2. 发送 GET 请求 var url https://api.example.com/data var headers [Content-Type: application/json] # 默认就是 METHOD_GET可以省略不写 http_request.request(url, headers) # 3. 处理服务器返回的数据 func _on_request_completed(result, response_code, headers, body): if result HTTPRequest.RESULT_SUCCESS and response_code 200: # 将返回的字节数据转换为 UTF-8 字符串再解析为 JSON var json JSON.parse_string(body.get_string_from_utf8()) if json ! null: print(请求成功获取到的数据, json) else: print(请求失败状态码, response_code) 3. 发送 POST 请求提交数据POST 请求常用于向服务器提交表单、登录信息或发送 AI 对话内容。func send_post_request(): var url https://api.example.com/submit var headers [Content-Type: application/json] # 准备要发送的字典数据并转为 JSON 字符串 var data_dict { username: GodotPlayer, score: 1000 } var json_body JSON.stringify(data_dict) # 发送 POST 请求第三个参数设为 true 表示启用 gzip 压缩第四个参数指定方法 http_request.request(url, headers, true, HTTPClient.METHOD_POST, json_body) 4. 关键注意事项Android 导出权限如果你打算将游戏导出到 Android 平台务必在导出预设Export Presets的权限设置中勾选INTERNET权限否则手机系统会拦截所有网络请求。JSON 处理网络请求返回的body是字节数组byte array必须先使用body.get_string_from_utf8()转为字符串再配合 Godot 内置的JSON类进行解析或封装。异步特性网络请求是异步的调用request()后代码会继续往下执行不会卡住游戏画面。你需要在_on_request_completed回调函数中处理返回的数据。如果你是在使用 C# (CSharp) 开发 Godot 项目整体逻辑一致只需注意使用System.Text.Encoding.UTF8.GetString(body)来转换字节数据并使用Json.ParseString()来解析 JSON 即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2571497.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!