【问题标题】:http_request problem in gamemaker studio 2gamemaker studio 2 中的 http_request 问题
【发布时间】:2021-10-09 02:44:06
【问题描述】:

我试图在 gamemaker 2 中执行 http 请求,但我不明白它是如何工作的! 实际代码:

  var map = ds_map_create();
    ds_map_add(map, "Authorization", "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
    
    var url = "https://api.leref.ga/" //example api
    
http_request(url, "GET", map, "");
json = async_load[? "result"];
show_debug_message(json)

我查看了 gml 手册,我什至完全按照说明进行了操作,但我总是遇到同样的错误:

【问题讨论】:

    标签: game-maker gml game-maker-studio-2 game-maker-language


    【解决方案1】:

    如果我正确理解了您的示例,您将在发送 http 请求后立即访问 async_load。

    问题是此时 async_load 不存在,您无法自己制作。您需要使用 HTTP Async Event 并从那里的 async_load 读取数据。

    引擎将处理触发事件,但它会为每个定义了该事件的对象触发它,因此您需要存储来自 http_request 的返回值并将其与异步事件中 async_load 的“id”值进行比较.

    我还注意到您在 Step Event 中有您的代码。这将导致您的请求每秒被调用多次,因此我建议将代码放在 Start、Alarm 或 Key/Mouse Press Event 中进行测试。

    【讨论】:

    • 这里有一些有用的概览建议。如果您可以编辑您的问题并显示一些伪代码以显示您描述事件火车应该如何工作的布局,这会很有帮助?谢谢
    • 伪代码弊大于利。这个问题的根源在于官方文档,客观上是很糟糕的,多年来一直如此。我很想添加一些示例代码,但是我的日常工作和通勤占用了我所有的空闲时间,而且即使是用 GML 编写远程可接受的代码也需要花费更多的时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    相关资源
    最近更新 更多