gpt4 book ai didi

flash - AS3 : streamlining a 'universal loader'

转载 作者:行者123 更新时间:2023-12-04 07:06:03 26 4
gpt4 key购买 nike

在 Flash Action 脚本 3 中,当您需要加载文本时,您可以使用一个名为 URLLoader 的类。 ,当您需要加载图像(或 .swf)时,您可以使用名为“Loader”的类。据我所知,使用 URLLoader 加载 .bmp就像将 .xml 加载到 Loader 一样没用——它不计算。

我正在创建一个处理要加载的外部 Assets 队列的类 - 但除了拆分目标 URL 以检查文件扩展名之外,我想不出一个好方法来判断每个 URL 是否需要 URLLoader或装载机。无论如何,可以想象 .php URL 可能返回图像或文档 - 因此无法依靠文件名来指示要使用的正确类型的加载程序类。

关于如何在逐个 URL 的基础上可靠地检测作业的正确类的任何想法?

最佳答案

好吧,最棘手的问题是确定目标的类型......

  • 查看 url 相当简单,但可能并不总是有效...有些人提供来自 phps 的图像等等...
  • 你可以像浏览器那样做......开始加载,然后看看它是什么......现在又一次,有多种可能性......
  • 将数据作为二进制数据加载......完成后,查看起始序列......是PNG(89 50 4E 47 0D 0A 1A 0A)吗? GIF ( 47 49 46 38 39 61 )? JPEG ( FF E0 )? SWF("FWS"(很有趣,不是吗?))?其他任何东西都应该是文本或基于文本的……如果是图像,请将其加载到 Loader 中。与 Loader::loadBytes ...不过要小心 SWF ... 你应该只加载图形 SWF ......在任何其他情况下,使用正确的编码将其转换为字符串(理想情况下文本数据以 utf8 格式提供)......然后也许你已经可以猜到,它是否可以是 XML、JSON 或 URL 编码的变量......尝试解析(使用类 XMLcom.adobe.serialization.JSONflash.net.URLVariables )......如果一切都失败了,它可能只是文本(你可以尝试从表面上验证...如果您想对此进行一些输入,请给我留言)...
  • HTTP你自己......打开一个套接字并加载源......你会得到另外的mime类型......没有你可以依赖的东西,但它有帮助......有一个 HTTP implementation in AS3 ...一旦您拥有数据
  • 手动传递类型......纯粹而简单......而且你不依赖任何其他人......

  • Loader 和 URLLoader 之间还有一个重要的区别... Loader 可以跨域加载数据,只需将其内容沙箱化,这样您就无法查看它... URLLoader 只能从您的域加载,以及使用跨域明确允许此操作的域政策文件...

    此外,加载 SWF,这不仅仅是外部图形 Assets ,但您确实想要与之交互,您不应该使用它,因为您需要控制 LoaderContext 等......

    所以,是的......无论你选择什么方式,祝你好运......;)

    问候语

    后退2dos

    关于flash - AS3 : streamlining a 'universal loader' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1101802/

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