简单的FLASH+XML应用
简单的FLASH+XML应用

简单的FLASH+XML应用

还是这里比较好啊。。。
来到吧里看到有朋友发了个XML的简单例子,大概看了下。
发现不足的地方还很多。。
今天我也发一个,希望对需要的人有点帮助。。。

复制内容到剪贴板

代码:

System.useCodepage = true; //防止倒入的文本一乱码的形式出现。
var my_xml:XML = new XML();//建立一个新的XML函数。
var myArray:Array = new Array();//建立一个新的数组,为了存放XML到入的数据。
var pic_wid = Stage.width;//设置一个原始宽,我设置这个宽与场景等宽,这样在以后修改的时候会便利很多。
var pic_hei = Stage.height;//设置原始高,理由同上。
var num_test : Number = 0;//建立一个新的数字变量,为自定义函数movi()效力。
var time_max : Number = 4000;//图片移动的最大间隔时间,在调用时间函数_global.long_id的时候使用
var time_min : Number = 70;//图片移动的最小间隔时间,在调用时间函数_global.long_id的时候使用
var AllMc:MovieClip = new MovieClip();//椭圆影片剪辑
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
_global.tempNum = 0; // 初始化一个数值,方便以后调用
_global.times = time_max;//初始化我们的时间函数所使用的时间长短
var but_x : Number = Stage.width /20 ; //最后按钮所在的第一横坐标
var but_y : Number = Stage.height – 30 ; //最后按钮所在的纵坐标
var leftBar : MovieClip = this.createEmptyMovieClip(“leftVar”,this.getNextHighestDepth());//建立一个新的影片剪辑存放到入进来的图片。
var top_text:TextField = this.createTextField(“top_text”, this.getNextHighestDepth(), 0, -40, 200, 20);//建立新的文本文件,存放XML进来的文本,不需要的也可以省略这步
my_xml.ignoreWhite = true;//判定鼠标是否在小图片上的布尔值
my_xml.load(“news_list.xml”);
var varlues :Boolean = false;
var color_array : Array = new Array(0x265792,0x122231,0x011110,0x000000);
var box:MovieClip = _root.createEmptyMovieClip(“box”, 200);
box._visible = false;
with (_root.box) {
   lineStyle(0, 0x000000, 0);
   beginFill(0x265792, 100);
   moveTo (0,5);
   curveTo(2,0,5,0);
   curveTo(5,0,20,0);
   curveTo(25,2,25,5);
   curveTo(25,5,25,13);
   curveTo(22,18,20,18);
   curveTo(20,18,5,18);
   curveTo(0,15,0,13);
   curveTo(0,13,0,5);
   endFill();
}
var mark:MovieClip=_root.createEmptyMovieClip(“mark”,-1);
with(_root.mark){
   lineStyle(0,0×000000,0);
   beginFill(0xEEEEEE, 100);
   moveTo (0,Stage.height-10);
   curveTo(0,Stage.height,10,Stage.height);
   lineTo(Stage.width-10,Stage.height);
   curveTo(Stage.width,Stage.height,Stage.width,Stage.height-10);
   lineTo(Stage.width,10);
   curveTo(Stage.width,0,Stage.width-10,0);
   lineTo(10,0);
   curveTo(0,0,0,10);
   curveTo(0,Stage.height-10);
   endFill();
}
function menuSystem2 () {
   for (i=0; i<5; i++) {
       var mycolor = new Color(this[“box”+i]);
       if (_global.tempNum != i) {
           for(var n:Number = 0;n
               mycolor.setRGB(color_array[n]);
           }
       } else {
           for(var n:Number = color_array.length;n>=0;n–){
               mycolor.setRGB(color_array[n]);
           }
       }
   }
}
this.onEnterFrame = function () {
   menuSystem2 ();
};
my_xml.onLoad = function(success:Boolean){
   if (success){
       _global.num = my_xml.firstChild.childNodes.length;
       for (var i = 0; i < _global.num; i ++){
           var tempObj = my_xml.firstChild.childNodes .attributes;
           myArray.push({ linkURL : tempObj.linkURL, imgURL : tempObj.imgURL, imgText : tempObj.imgText })
       }
   } else {
       trace(“没有连接到 XML 文件!”);
   };
   test();
};
function test(){
   for(var i:Number = 0 ; i < _global.num; i ++){
       var picLoaderTemp = leftBar.createEmptyMovieClip (“picLoader” + i, i + 1);
       var picCounterTemp = leftBar.createEmptyMovieClip (“picCounter” + i, i + 10001);
       picCounterTemp.id = i;
       picLoaderTemp._x = pic_wid * i;
       picLoaderTemp._y = 0;
       mcLoader.loadClip (myArray .imgURL,picLoaderTemp);
       picCounterTemp.onEnterFrame = function (){
           var tempName = leftBar [“picLoader” + this.id];
           if (tempName._width > 0){
               tempName.onRelease = function (){
                   var tempNum = this._name.slice (9);
                   onRele (myArray [tempNum].linkURL);
               }
               delete this.onEnterFrame;
           }
       }
   }
}
function onLoadInit(picLoaderTemp:MovieClip) {
   picLoaderTemp._width=picLoaderTemp._height=Stage.width;
   leftBar.setMask(mark);//遮罩。
}
for(var n : Number = 0;n<5;n++){
   var boxs : MovieClip = box.duplicateMovieClip(“box”+n,n+100,{_x:but_x+n*40,_y:but_y});
   var boxs_text : MovieClip = this.createEmptyMovieClip(“box”+n,n+800,{_x:but_x+n*40,_y:but_y});
   var box_text:TextField = boxs_text.createTextField(“box_text”, this.getNextHighestDepth(), but_x+8 +n*40, but_y, 10, 20);
   box_text.text = n+1;
   box_text.textColor = 0xffffff;
   box_text.styleSheet = Gulim;
   boxs.onRollOver = function (){
       varlues = true ;
       _global.nums = this._name.slice (3);
       _global.times = time_min;
       clearInterval (_global.long_id );
       _global.long_id = setInterval(movi,_global.times);
   }
   boxs.onRollOut = function (){
       varlues = false ;
       _global.times = time_max;
       clearInterval (_global.long_id );
       _global.long_id = setInterval(movi,_global.times);
   }
   boxs_text.onRollOver = function (){
       varlues = true ;
       _global.nums = this._name.slice (3);
       _global.times = time_min;
       clearInterval (_global.long_id );
       _global.long_id = setInterval(movi,_global.times);
   }
   boxs_text.onRollOut = function (){
       varlues = false ;
       _global.times = time_max;
       clearInterval (_global.long_id );
       _global.long_id = setInterval(movi,_global.times);
   }
}
function movi(){
   if(varlues){
       if(_global.tempNum < _global.nums){
           _global.tempNum ++;
       }else if (_global.tempNum > _global.nums){
           _global.tempNum –;
       }else{
           clearInterval (_global.long_id );
           _global.tempNum = _global.nums;
       }
   }else{
       _global.tempNum ++;
   }
   if (_global.tempNum  >= _global.num){
       _global.tempNum = 0;
   }
   num_test = _global.tempNum;
   var new_x : Number = -pic_wid * num_test
   top_text.text = myArray [num_test].imgText;
   leftBar.onEnterFrame = function (){
       this._x +=  (new_x-this._x)/10;
       if(Math.ceil(this._x)==new_x){
           this._x = new_x;
           delete this.onEnterFrame;
       }
   }
}
_global.long_id = setInterval(movi,_global.times);
function onRele (a){
   getURL (a, “_blank”);
}
DE>

 

//news_list.xml文件里的代码
<?xml version=’1.0′ encoding=’UTF-8′?>
<data>
   <pic linkURL=’img/img0.jpg’ imgURL=’img/img0.jpg’ imgText=’壁纸1’/>
   <pic linkURL=’img/img1.jpg’ imgURL=’img/img1.jpg’ imgText=’壁纸2’/>
   <pic linkURL=’img/img2.jpg’ imgURL=’img/img2.jpg’ imgText=’壁纸3’/>
   <pic linkURL=’img/img3.jpg’ imgURL=’img/img3.jpg’ imgText=’壁纸4’/>
   <pic linkURL=’img/img4.jpg’ imgURL=’img/img4.jpg’ imgText=’壁纸5’/>
</data>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注