新的Flash 5.5应用程序 - 最佳方法

时间:2012-07-30 06:33:19

标签: actionscript-3 file load

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

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

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

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

我正在研究'问题1'恰逢'第1天'(年度)

这种方法是否有意义,或者是否有更好的方法让问题可供脚本使用?

2 个答案:

答案 0 :(得分:2)

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());

答案 1 :(得分:1)

您需要的一件事是找出一年中的哪一天。没有本机Flash API,因此您必须自己动手。请注意,您需要366个问题才能使您的应用程序在闰年上运行。

至于是否使用文本文件或XML,这取决于您和您感觉更舒服的内容。 AS3的XML API非常强大,如果您刚开始使用Flash,这对您来说可能是个不错的选择。