gpt4 book ai didi

actionscript-3 - ActionScript 是否具有 "core dump"的等效项?

转载 作者:行者123 更新时间:2023-12-04 06:47:43 25 4
gpt4 key购买 nike

这是我的情况:我正在开发一个基于 AS3 的游戏,我想要一个“报告问题!”游戏内的功能,以便用户可以向我提交反馈。

当我的用户报告问题时,我希望尽可能多地了解他们的游戏状态;基本上内存中有什么对象,所有这些对象中所有这些变量的值是什么;当我在调试器中遇到断点时,我可以获得的信息基本相同。

有没有一种简单的方法可以做到这一点?恐怕我会花几天时间尝试编写一堆函数来为我获取所有这些信息,但后来有人告诉我,“哦,你为什么不直接调用 ASUtils.getSnapshot()” ?

最佳答案

AS3 中没有通用的方法来转储变量的状态,但我们会做一些您可能会发现有用的事情:

  • 捕获最近点击事件的日志。使用舞台事件监听器记录点击并跟踪对象“路径”从父链到舞台。对象路径就是所有的 DisplayObject 名称,例如:screenMain.dialogBu​​yItem.buttonBuy
  • 捕获屏幕截图,将其缩小为小缩略图,对其进行 JPEG 编码,然后将其连同他们的反馈一起上传到您的服务器。当出现异常时,我们也会这样做(参见#4)。 as3corelibcom/adobe/images 中具有 JPEG 编码功能
  • 在发布之前编写一个可以在 AS3 代码上运行的命令行珍珠或 PHP 脚本,它将在每个函数调用的顶部注入(inject)调用跟踪。这允许记录通话历史。虽然它不如完整堆栈好,但它会给你一些关于你的代码最近在做什么的指示。
  • 捕获断言和未处理的异常,并通过点击事件和调用历史跟踪将它们记录到您的服务器。未处理的异常监听器是 flash 10.1 中的新功能,但大多数用户都有此功能。您可以检查该支持并添加这样的监听器:
    // Check for the presence of the Flash 10.1 global Error event (exception) handler class.
    // If it exists, we'll listen for it and it will allow us to report errors to our server.
    if ( loaderInfo.hasOwnProperty( 'uncaughtErrorEvents' ) )
    loaderInfo.uncaughtErrorEvents.addEventListener( "uncaughtError", onUncaughtError ); // UncaughtErrorEvent.UNCAUGHT_ERROR
  • 如果您有想要记录反馈的全局状态变量,您可以编写一个函数将它们转储到字符串中,以便与用户反馈一起上传。虽然您可以使用 for each 枚举类和对象属性, 这仅适用于公共(public)成员。谷歌一下,你会发现人们编写的一些函数可以使用这种枚举技巧递归地转储对象和数组数据。
  • 关于actionscript-3 - ActionScript 是否具有 "core dump"的等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7135162/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com