在接收数据时,基本上流程就是服务端会有一个xml文档,发送请求,然后down下这个xml文件,并对其进行解析这样就能得到需要的内容。
var my_xml:XML = new XML(); import mx.xpath.XPathAPI; //下载并解析xml: var arrLink = new Array(); my_xml.ignoreWhite = true; my_xml.onLoad = function(success) { if (success) { //将根节点下的所有节点列表解析到arr数组中; arr = mx.xpath.XPathAPI.selectNodeList(this.firstChild, "/data/stand/"); trace(my_xml.firstChild.childNodes[0].childNodes[1].attributes.COMPANYNAME); } }; my_xml.load( url );//此处即为请求的url
当然,这里的url可以是带参数的请求形式,这样就可以把一些参数放上去,来给后台程序更多的内容。
下边一段为绘制一个图形的as代码:
mc.lineStyle(1,0x998252,0);//()
mc.beginFill(0x998252,10);
//mc._alpha = -100.0;
}
mc.moveTo(x,y);
mc.lineTo(x+w,y);
mc.lineTo(x+w,y+h);
mc.lineTo(x,y+h);
mc.lineTo(x,y);
mc.endFill();
步骤解析:
public lineStyle(thickness:Number, rgb:Number, alpha:Number, pixelHinting:Boolean, noScale:String, capsStyle:String, jointStyle:String,miterLimit:Number) : Void
我在这里只用了前三个参数,线性、颜色、透明度。
mc.moveTo(x,y):绘制图形的起点
mc.lienTo(x+w,y):包括下边的三个lienTo方法,就是绘制图形的几个点,当然我会值得是一个正方体最后就又回到出发点了。
mc.endFile():结束绘制。
下边这一段就是新建一个动态文本框。包括设置字体、颜色、大小等。
_root.createTextField("my_txt",1,_root._xmouse+10,_root._ymouse+10,300,300);
_root.my_txt.multiline = true; _root.my_txt.wordWrap = true; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0xFFFFFF; my_fmt.size = 20; _root.my_txt.text = cNO+src.substring(src.indexOf("name=")+6, src.indexOf("/")-1); _root.my_txt.setTextFormat(my_fmt);
--------------------------------------------------------------------------------------------------------------------
关于Ajax的应用:
关于js方面的内容,除了一些比较基础的东西之外,用到的就是发送异步请求获取服务端数据。
这次在项目又用了在请求中加date事件来解决请求被缓存的问题。看来多看一些好书还是很有帮助的。两外还有一个预加载图片的事情,就是把要用的图片预加载到缓存里。
function loadImage(url,callback,i){
var img = new Image(); img.src = url; if(img.complete){ callback.call(i); return; } img.onload = function(){ callback.call(i); }; }; function imgLoaded(i){ count = count + 1; //alert(count); if(count == countReal){ //countReal为要下载图片的个数,判断与实际下载的图片相等之后,就可以做相应的事情了 } }
var img = new Image();
img.src = url;//url即为图片的url地址
这样两句就可以把需要的图片缓存起来。
当然是有判断是否缓存成功的函数:
if(img.complete){
callback.call(i);
return;
}
callback为要回调的方法。callback.call(i)这样传递参数到回调方法里。就可以做接下来的处理工作。
这个项目下来,其实总体来说,前边需求确定的时候学到一点东西,然后是flash as2.0 里的一些技术难点,剩下的一大部分事情就是**脚本方面的事情,做了不少工作。
接下来该正经干点事情了。