Flash實例:Flash+asp掃描文件夾展示圖片_Flash教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:用Flash制作簡單的緩沖菜單的教程
      [步驟]第一步:制作幾個按鈕,放在主場景中,實例名分別為_btn0、_btn1、_btn2、_btn3、_btn4、_btn5、_btn6第二步:創建影片剪輯,在里面畫一個小三角形,在

      剛才沒事干,來試試這個功能的實現。
      思路:
      用ASP的FSO(這個思路是剛才一位朋友在回貼中提到的,所以我才想起要做這個東東,呵呵)對象來掃描同文件夾下的JPG圖片,并輸出文件名。這里用ASP輸出XML格式讓FLASH加載,雖然不太喜歡XML,但大家都覺得它規范一些,就輸出它吧。演示效果下載后再看吧!

      我的文件夾中只放了9個圖片,但無論添加還是減少都直接上傳或者刪除就行了,不需要去改FLASH也不需要修改ASP。費話少說,代碼+注釋+源文件如下(IIS環境測試才有效):
      FLASH中的代碼:
      import flash.filters.BlurFilter;
      import flash.filters.DropShadowFilter;
      ////============初始化===========
      var b_filters:BlurFilter = new BlurFilter(5, 5, 1);
      var d_filters:DropShadowFilter = new DropShadowFilter(5, 45, 0, 80, 10, 10);
      var n:Number = new Number();
      var url_array = new Array();
      //這里是設置SWF與ASP的相對路徑,雖然可以在ASP中比較得出,但感覺沒有必要
      var path_str:String = "images/";
      function go_func() {
      if (n<url_array.length-1) {
      n ;
      load_func();
      } else {
      trace("加載完成!");
      }
      }
      //============MCL類===========
      var _mcl:MovieClipLoader = new MovieClipLoader();
      this.onLoadInit = function(_mc:MovieClip) {
      _mc._txt.removeTextField();
      _mc._width = 80;
      _mc._height = 80;
      _mc.filters = [b_filters, d_filters];
      //============這里設置鼠標動作===========
      _mc.onRollOver = function() {
      this.filters = null;
      };
      _mc.onRollOut = function() {
      this.filters = [b_filters, d_filters];
      };
      go_func();
      };
      //假如沒有下面的代碼,就會一個加載出錯,導致后面的都不能加載,用這個可以出錯時繼續向下加載,源文件中我故意少了一個圖片,讓它出錯
      this.onLoadError = function(_mc:MovieClip) {
      _mc.createTextField("_txt", 200, 20, 10, 60, 30);
      _mc._txt.textColor = 0xff0000;
      _mc._txt.text = "加載失敗!";
      go_func();
      };
      //=========加載進度顯示==============
      this.onLoadProgress = function(_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
      _mc.createTextField("_txt", 200, 20, 10, 60, 30);
      _mc._txt.textColor = 0xff0000;
      _mc._txt.text = Math.floor((bytesLoaded/bytesTotal*10000)/100) "%";
      };
      _mcl.addListener(this);
      //=================load函數========
      function load_func() {
      this.createEmptyMovieClip("pic_mc" n, n 100);
      //假如要改成豎向加載,只需把下面的_x _y換一下就行了
      this["pic_mc" n]._y = 30 Math.floor(n/3)*100;
      this["pic_mc" n]._x = 100 n%3*100;
      _mcl.loadClip(path_str url_array[n], this["pic_mc" n]);
      }
      //===========XML文件加載=========
      var url_xml = new XML();
      url_xml.ignoreWhite = true;
      url_xml.onLoad = function(suc) {
      if (suc) {
      for (var d:Number = 0; d<this.firstChild.childNodes.length; d ) {
      url_array.push(this.firstChild.childNodes[d].firstChild.nodeValue);
      }
      load_func();
      } else {
      trace("XML文件加載失敗!");
      }
      };
      url_xml.load(path_str "showjpg.asp");ASP:
      <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
      <%
      Dim thisPath,FSO,fileItem,allFolder
      thisPath = Server.MapPath(Request.ServerVariables("SCRIPT_NAME")) ’得到ASP文件的路徑
      Set FSO = createobject("scripting.filesystemobject")’創建FSO對像
      Set allFolder = FSO.GetFile(thisPath).parentfolder.files ’得到ASP所在目錄的父級對像,它就包括了這個ASP和我們放的圖片
      Response.write("<?xml version=""1.0"" encoding=""utf-8""?>")’開始輸出XML
      Response.ContentType = "text/XML"
      Response.Write("<path>")
      For Each fileItem In allFolder ’想當于FLASH中的遍歷,遍歷整個對像中的元素
      If lcase(right(fileItem.name,4))=".jpg" Then ’假如后綴是JPG
      Response.Write("<url>" fileItem.name "</url>")’就把它的文件名輸出為XML的一個新節點
      End If
      Next
      Response.Write("</path>")
      Response.End()
      %> 附件: 點擊這里下載 FLASH ASP顯示圖片 的源文件

      分享:Photoshop結合Flash制作瓢蟲變色交互動畫(3)
      下面我們打開FlashCS3,開始我們的編程探索之旅。按圖示建立一個新的Flash文件。我們來試一下FlashCS3對PSD文件的支持功能。經過我的測試,發現這個功能有時

      來源:閃吧BBS//所屬分類:Flash教程/更新時間:2008-03-05
      相關Flash教程