【问题标题】:Load all images from internal application从内部应用程序加载所有图像
【发布时间】:2012-10-26 22:58:31
【问题描述】:

我正在尝试将内部应用程序文件夹中的所有 .png 文件加载到列表控件中,但我一直不知道该怎么做。我已经尝试使用 httpservice 来获取文件夹并计算有多少图像,这样我就可以遍历它们,但我就是想不通。

文件结构

-src
    -(default package)
        -my application files
    -icons
        -all my .png files

httpService 我试过了:

<s:HTTPService id="loadAllImages" destination="/icons" result="gotImages(event)" fault="loadAllImagesFault(event)"/>

这总是导致找不到目录。我完全错了吗?有人有建议吗?

【问题讨论】:

    标签: actionscript-3 flash flex4 adobe flash-builder


    【解决方案1】:

    你不能这样做。要将图像存储在 Flash 应用程序(SWF 或 AIR)中,您必须在 MXML 中使用 @Embed('') 或使用 [Class] 方法将其嵌入。

    在 AIR 应用程序中实际显示内部文件夹的文件夹目录的唯一方法是使用 File(这是一个 AIR 专用类)。

    var file:File = File.applicationDirectory;
    file.browseForDirectory('icons'); ; //unsure if that will pull an internal folder or not, but you get the idea
    

    如果这是一个外部目录(听起来不像),我相信你会按照你在问题中显示的方式去做(虽然我从来不需要使用这种方法,所以我不知道 /它是如何工作的)

    【讨论】:

    • 我对嵌入很熟悉,但我的问题是我需要在文件夹中嵌入所有图像,我不知道有多少图像可能会发生变化。所以我希望有一种方法可以用计数器循环遍历所有图像。
    • 不,没有。图像必须在编译时嵌入,而不是在运行时嵌入。因此,文件夹中的图像永远只有在您重新编译应用程序时才会发生变化。
    • 好的,好吧,我想我将不得不做我真正不想做的事情......将我所有的 png 文件名写入一个 xml 文件并加载它以获得长度,以便我可以循环通过...哦,并将文件存储在应用程序之外。感谢您的帮助。
    • 不客气。抱歉,答案与您想要的几乎完全相反。不幸的是,这就是 Flash 的工作原理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 2011-02-03
    • 2012-10-05
    • 2014-04-10
    • 2015-10-24
    相关资源
    最近更新 更多