WEB开发网
开发学院图形图像Flash Flash中实现博客标签Tag的3D滚动效果 阅读

Flash中实现博客标签Tag的3D滚动效果

 2012-02-06 12:12:41 来源:本站整理   
核心提示:今天我们谈谈使用Flash制作3D滚动标签,标签是一个网站尤其是博客类网站的数据分类方式,Flash中实现博客标签Tag的3D滚动效果,您可以为你的文章添加一个或多个标签,这样就把内容有关联性的文章之间建立了联系,加入if语句,如果标签超出屏幕,当我点击某个标签的时候,含有该标签的所有的文章都会呈现出来

今天我们谈谈使用Flash制作3D滚动标签。标签是一个网站尤其是博客类网站的数据分类方式,您可以为你的文章添加一个或多个标签,这样就把内容有关联性的文章之间建立了联系,当我点击某个标签的时候,含有该标签的所有的文章都会呈现出来。
  本例中我将Flash技术站点的标签做成了XML文件,每个标签含有两个属性,一个是标签名,另一个是链接网址。具体的制作步骤如下:
  1.读入XML文件。使用URLRequest类和URLLoader类。
  2.当载入XML文件完成时,使用for循环读取XMl文件的元素个数,作为后面循环语句的结束条件。
  3..使用for循环创建TextField实例,使用for循环将XML文件中的标签名赋值给TextField实例的text属性,并把实例赋值给数组,方便后面的操作。
  4创建TextFormat实例,该类是进行文本格式化的类,将XML文件里的链接地址赋值给该类的url属性。使用TextField类的setTextFormat方法格式化文本。
  5.创建ENTER_FRAME事件,实现标签的3D滚动效果。加入if语句,如果标签超出屏幕,该标签重新出现在舞台。

  1. import flash.net.URLRequest;  
  2. import flash.display.Loader;  
  3. import flash.events.Event;  
  4. import flash.text.TextField;  
  5. import flash.display.Sprite;  
  6. import flash.text.TextFormat;  
  7.  
  8. var req:URLRequest = new URLRequest("website.xml");  
  9. var xmlloader:URLLoader = new URLLoader(req);  
  10. var xml:XML;  
  11. var i:int = 0;  
  12. var mysty:TextFormat=new TextFormat();  
  13. var array:Array=new Array();  
  14.  
  15. xmlloader.addEventListener(Event.COMPLETE,oncomplete);  
  16. function oncomplete(e:Event):void  
  17. {  
  18.  xml = new XML(xmlloader.data);  
  19.  for (var my:String in xml.web)//读取元素个数  
  20.  {  
  21.   i++;  
  22.  }  
  23.  for (var j:int=0; j<i; j++)  
  24.  {  
  25.   mysty.font = "Verdana";  
  26.   mysty.size = 30;  
  27.   mysty.color = 0xFFFFFF;  
  28.   mysty.bold = true;  
  29.   mysty.url = xml.web[j].http;  
  30.   var tf:TextField=new TextField();  
  31.   tf.text = xml.web[j].name;  
  32.   tf.x = Math.random() * 300 - 50;  
  33.   tf.y = Math.random() * 300 - 50;  
  34.   tf.z = Math.random() * 1000;  
  35.   tf.width = 400;  
  36.   tf.selectable = false;  
  37.   array.push(tf);  
  38.   tf.z = Math.random() * 1000;  
  39.   tf.setTextFormat(mysty);  
  40.  
  41.  }  
  42.  
  43. }  
  44. addEventListener(Event.ENTER_FRAME,onenter);  
  45. function onenter(e:Event):void  
  46. {  
  47.  for (var c:int; c<i; c++)  
  48.  {  
  49.   addChild(array[c] as TextField);  
  50.   array.alpha += 10;  
  51.   array[c].z -= 5;  
  52.   array[c].y += 2;  
  53.   array[c].x += 1;  
  54.   if (array[c].y > stage.stageHeight)  
  55.   {  
  56.    array[c].y = stage.stageHeight * Math.random() - 100;  
  57.    array[c].x = stage.stageWidth * Math.random() - 100;  
  58.  
  59.    array[c].z = Math.random() * 2000;  
  60.   }  
  61.  }  

Tags:Flash 实现 博客

编辑录入:coldstar [复制链接] [打 印]
赞助商链接