AS小应用

第一次写AS,参考网上资料和官方教程(AS2.0),写了个简单的东西

System.useCodepage = true;//使用本地编码 
//实例化一个xml对象.
var myxml:XML = new XML();
//分析时忽略xml文档中的空格.
myxml.ignoreWhite = true;
//加载test.xml文档.
myxml.load("test1.xml");
//调用XML.onLoad事件
var myTextArea:mx.controls.TextArea;
var myloader:mx.controls.Loader;
var rbtn:mx.controls.Button;
var leftbtn:mx.controls.Button;
var buybtn:mx.controls.Button;

var img_arr:Array;  //图片数据存放所有路径
var img_current=0;//当前第几张
var urlstr:String; //XML节点url的路径
myxml.onLoad = function(success:Boolean)
{
 //如果加载成功,success=true;否则success=false;
 if (success) {
  trace("加载成功!");
  //输出顶层节点的节点名和顶层节点中属性name的值.
  trace(myxml.firstChild.nodeName+":"+myxml.firstChild.attributes.name);
  //用一个数组来引用顶层节点中子级节点的数组.
  var child_arr:Array = myxml.firstChild.childNodes;
  
  urlstr=myxml.firstChild.attributes["url"];  
  /*针对节点一行多个值的情况
  for (attr in myxml.firstChild.attributes) {
             trace (attr + " = " + myxml.firstChild.attributes[attr]);
    myxml.firstChild.attributes["url"];
           }
     */

  //保存节点数据
  img_arr=myxml.firstChild.childNodes;
  //用嵌套for语句遍历出xml文档中的所有数据.
  //这个for遍历的是顶层节点下的子级节点.
  for (var i = 0; i<child_arr.length; i++) {
   //输出顶层节点下的子级节点的节点名和顶层节点下的子级节点中属性name的值.
   trace(child_arr[i].nodeName+":"+child_arr[i].attributes.name);
   //这个for遍历的是顶层节点下的子级节点下的子级节点.
   
   
   for (var j = 0; j<child_arr[i].childNodes.length; j++) {
    //输出顶层节点下的子级节点下的子级节点的节点名 和 顶层节点下的子级节点下的子级节点中属性name的值.不要晕.看看输出面板就会明白它们之间的关系了哦.
         
     trace(child_arr[i].childNodes[j].nodeName+":"+child_arr[i].childNodes[j].attributes.name);
     
    }
   myTextArea.html=true;
   myTextArea.text=img_arr[0].childNodes[0].attributes.name;;
   myTextArea.setStyle( "fontSize", 12 );
   myloader.load(child_arr[img_current].attributes.name);
   
   _global.styles.TextArea.backgroundColor = undefined;
   myTextArea.setStyle("fontFamily", "微软雅黑");
   
  }
 } else {
  trace("加载失败!");
 }
 
};
//下一张
rbtn.clickHandler = function(evt:Object){
   if (img_current<img_arr.length-1){
   img_current=img_current+1;
   myloader.load(img_arr[img_current].attributes.name);
   myTextArea.text=img_arr[img_current].childNodes[0].attributes.name;
   }
};

//上一张
lbtn.clickHandler = function(evt:Object){
 if (img_current>0){
   img_current=img_current-1;
   myloader.load(img_arr[img_current].attributes.name);
   myTextArea.text=img_arr[img_current].childNodes[0].attributes.name;
 }
};


buybtn.addEventListener("click",buyfunc);
function buyfunc(){
 if (urlstr.length){
  getURL(urlstr);
 }
 
}
 

//载入分类MENU----------------------------------------------------------
var mymenubar:mx.controls.MenuBar;
var my_menu:mx.controls.Menu = mymenubar.addMenu("分类");
var menufirst_arr:Array;

var menuxml:XML = new XML();
//忽略空格
menuxml.ignoreWhite = true;
//加载test.xml文档.
menuxml.load("menu.xml");
menuxml.onLoad = function(success:Boolean){
 if (success){
  trace("menuxml seccesss");
  menufirst_arr = menuxml.firstChild.childNodes;
  for (var i = 0; i<menufirst_arr.length; i++) {
    trace(menufirst_arr[i].childNodes[0].attributes.name);
   my_menu.addMenuItem({label:menufirst_arr[i].attributes.name, instanceName:menufirst_arr[i].childNodes[0].attributes.name});
        
  }
 }
};

// 创建侦听器对象。
var mbListener:Object = new Object();
var ins:String;
mbListener.change = function(evt_obj:Object) {
 var menuItem_obj:Object = evt_obj.menuItem;
 inst=menuItem_obj.toString();
 var p1=inst.indexOf("instanceName=")+14;
 var p2=inst.indexOf("label");
 var lengthpos=p2-p1;
 inst=inst.substr(p1,lengthpos-2);
 switch (menuItem_obj.attributes.instanceName) {
 case inst:
   myxml.load(inst);
   break;
 
 }
 trace(inst);
 trace(menuItem_obj);
};

// 添加侦听器。
mymenubar.addEventListener("change", mbListener);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值