Flex小记录

Flex读取XML:

<mx:HTTPService id="mod_config" resultFormat = "e4x"   result="mxl_resultHandler(event)"/>//用Httpservice来读取Xml文件。定义result事件的回调。

 

mod_config.url = "assets/config/mod_config.xml?" + new Date().getMilliseconds();//为Httpservice指定Xml来源地址。
mod_config.send();//执行send()则开始请求远程的Xml文件,如果成功了就会带着读到的数据去执行上面定义的result的回调函数。并用event.result来取发过来的数据。如下:

 

m_XML=event.result as XML;//读取成功之后赋给一个Xml对像。

 

m_XML.Module.mod.length();//这表示读到的指定mod节点的个数。(Module和mod都是自定义的)

 

m_XML.Module.mod[i].@level;//这是取某个节点mod的level属性的值。(注意level前要加上@符号)


ArrayCollection:

ArrayCollection里面什么都能放:比如放一个ModuleLoader都是可以的。

 

setTimeout:

用法:flash.utils.setTimeout(fun, 300,"1","2");//表示过300毫秒后去执行fun函数,同时把一个参数列表传过去(这个参数可以是任意个,用逗号隔开就是了)然后再fun函数里就这样来到传过来的参数:arguments[i].toString()。注意fun函数是没有参数的,也就是说arguments并不是形参变量而是setTimeout的一个特定对象,就是用来到传来的参数的。(可实现延迟加载模板的功能,可以把Moduleloader放在一个Arrayalection中,当然模块也要放在一个Arrayalection中,然后利用Settimeout,每延迟一段时间就把模块的下标和Url传到Settimeout的回调函数中,在回调函数中再调用Arrayalection中Moduleloader的loadModule(Url)来加载模块,要注意那个延迟时间应该是递增的,如果有三个块,这个时间应该依次为300,600,900,就是要错开每个模块加载的时间)

你可能感兴趣的:(xml,Flex,Flash)