2010年11月15号之---as2.0关于请求与接口数据的接收与解析与js写法

在接收数据时,基本上流程就是服务端会有一个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:Numberrgb:Numberalpha:NumberpixelHinting:BooleannoScale:StringcapsStyle:StringjointStyle: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 里的一些技术难点,剩下的一大部分事情就是**脚本方面的事情,做了不少工作。

接下来该正经干点事情了。

 

 

你可能感兴趣的:(xml,Ajax,工作,脚本,Flash)