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



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

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

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

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

我正在研究"问题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());

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

至于是使用文本文件还是XML,这取决于您自己以及您觉得更舒服的内容。AS3的XML API是健壮的,如果您从Flash开始,这可能是一个很好的选择。

相关内容