【问题标题】:New Flash 5.5 App - Best Approach新的 Flash 5.5 应用程序 - 最佳方法
【发布时间】:2012-07-30 06:33:19
【问题描述】:

我有一个新的应用项目,在开始之前我想知道什么是组织数据的好方法。

这个想法是一个提供每日问题的应用程序,每天的问题都不同。 365 个问题可以存储在文本文件中,我一直在将 XML 文件加载到 Flash 中并显示结果。

将问题存储在一个简单的文本文件中并加载到 Flash(使用 URL Loader)或 XML 文件中会更好吗?

XML 文件可能有助于提供“日”信息,但可能有更好的方法让应用显示每天的正确问题。

我正在研究“问题 1”与“第 1 天”(一年中)相吻合

这种方法有意义还是有更好的方法让脚本可以处理问题?

【问题讨论】:

    标签: actionscript-3 file load


    【解决方案1】:

    XML 将使数据模型对您的目标直观。

    <?xml version="1.0" encoding="UTF-8"?>
    <questions>
        <question day="1"><![CDATA[ <b>Question 1</b>: Lorem ipsum dolor sit amet. ]]></question>
        <question day="2"><![CDATA[ <b>Question 2</b>: Consectetur adipiscing elit. ]]></question>
        <question day="3"><![CDATA[ <b>Question 3</b>: Duis semper risus nec nisi elementum. ]]></question>
    </questions>
    

    在 ActionScript 中,获取当前日期可以实现为:

    public static function getDayOfTheYear(d:Date):uint {
        var firstDay:Date = new Date(d.getFullYear(), 0, 1);
        return (d.getTime() - firstDay.getTime()) / 86400000;
    }
    

    一旦 XML 加载完毕,就可以使用 e4x 获取当前问题节点:

    var now:Date = new Date();
    var day:uint = getDayOfTheYear(now);
    
    /* Assuming you loaded XML to a variable: var xml:XML */
    var question:XMLList = xml.question.(@day == day);
    trace(question.valueOf());
    

    【讨论】:

    • 非常感谢您的快速回复。我有负载 XML 部分工作,并将应用这些想法重新:日期。干杯
    • 我有这个工作并在舞台上显示一个与一年中的某一天相关的问题(感谢您的 DOY 代码@Jasons)。很有趣,直到我意识到 XML 文件有第 1 天、第 2 天等,而我们已经到了第 212 天,我才能显示任何内容。所以很高兴看到结果。
    【解决方案2】:

    您需要一种方法来找出一年中的哪一天。没有用于此的本机 Flash API,因此您必须自己动手。请注意,您需要 366 个问题才能让您的应用在闰年运行。

    至于是使用文本文件还是 XML,这取决于您和您觉得更舒服的方式。 AS3 的 XML API 非常强大,如果您刚开始使用 Flash,这可能是一个不错的选择。

    【讨论】:

    • 闰年好点;谢谢。我将使用 XML,我喜欢能够以结构化方式添加附加项的想法。
    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 2012-03-20
    • 2021-06-30
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多