posts - 495,comments - 227,trackbacks - 0
          http://hi.baidu.com/gacmotor/blog/item/3877d63c7371240bbba1670e.html

          我們可以將一個 FlashPaper 文檔插入到 Flash的 FLA 源文件中。當把 FLA 文件導(dǎo)出為
          SWF 文件時,F(xiàn)lashPaper SWF文件就會嵌入到導(dǎo)出的SWF 文件中。
          下面的代碼顯示了一個普通的Flash FLA 文件是如何使用 loadFlashPaper() 函數(shù)載
          入一個 FlashPaper SWF 文檔的。
          function loadFlashPaper(
          path_s, // path of SWF to load
          dest_mc, // MC which we should replace with the SWF
          width_i, // new size of the dest MC
          height_i, // new size of the dest MC
          loaded_o) // optional: object to be notified that loading is complete
          {
          var intervalID = 0;
          var loadFunc = function()
          {
          dest_mc._visible = false;
          var fp = dest_mc.getIFlashPaper();
          if (!fp)
          return;
          if (fp.setSize(width_i, height_i) == false)
          return;
          dest_mc._visible = true;
          clearInterval(intervalID);
          loaded_o.on
          Loaded(fp);
          }
          intervalID = setInterval(loadFunc, 100);
          dest_mc.loadMovie(path_s);
          }
          下面的代碼顯示已經(jīng)嵌入一個FlashPaper SWF文檔后如何使用 loadFlashPaper() 函
          數(shù)。
          function onLoaded(fp)
          {
          // loading is complete, so we can now adjust the current page, zoom, etc.
          // go to page 50.
          fp.setCurrentPage(50);
          // change magnification to 33%
          fp.setCurrentZoom(33);
          }
          loadFlashPaper("FlashPaper.swf", theDocMC, theDocMC._width, theDocMC._height, this);
          其中 fp.setCurrentPage 值被設(shè)置為 50,fp.setCurrentZoom 值被設(shè)置為 33,當 FLA
          文件被導(dǎo)出時,嵌入的 FlashPaper SWF文件以 33%的放大倍率在導(dǎo)出的 SWF 文件中出現(xiàn)。
          Flash Paper 2 生成的SWF可以通過AS載入到Flash影片中使用API進行控制,如下:
          createEmptyMovieClip("fPaper", 0);
          var my_mcl = new MovieClipLoader();
          myListener = new Object();
          my_mcl.addListener(myListener);
          my_mcl.loadClip("FlashPaper.swf", fPaper);
          myListener.onLoadInit = function (target_mc)
          {
          onEnterFrame = function()
          {
          fPaper.showZoomUI(false);
          fPaper.showPrintUI(false);
          fPaper.setCurrentZoom("width");
          fPaper.setCurrentPage(2);
          delete onEnterFrame;
          }
          }
          Flash Paper 2 API:
          FlashPaper組件- -完整的APi
          2009年02 月04日 星期三 14:18
          它可以載入由FlashPaper2.0生成的SWF文件, 而且提供了一系列設(shè)置的函
          數(shù),實在是不可多得的好東西!現(xiàn)在推薦下!
          下載包含組件說明(英文)
          組件說明(英文)
          下面是我翻譯的部分組件說明(Flash Paper類)可用性:
          ActionScript 1.0; Flash Player 6
          屬性摘要
          屬性 說明
          documentPath:String FlashPaper文件的路徑.
          borderThickness:Number 邊框?qū)挾?
          borderColor:String 邊框顏色.
          UIElements:Object 外觀元素的可見性.
          currentZoom:Object 默認縮放比例.
          width:Number FlashPaper文件的寬度.
          height:Number FlashPaper文件的高度.
          UIElements屬性的圖示
          事件摘要
          事件 說明
          onLoadStart = function(target:FlashPaper, type:String) {} 當FlashPape
          文件已開始下載文件時調(diào)用.
          onLoadProgress = function(target:FlashPaper, type:String,
          bytesLoaded:Number, bytesTotal:Number) {} 每當FlashPape文件寫入硬盤時
          調(diào)用.
          onLoadComplete = function(target:FlashPaper, type:String) {} 當
          FlashPape文件完全下載時調(diào)用.
          onLoadInit = function(target:FlashPaper, type:String) {} 當執(zhí)行
          FlashPape文件第一幀上的動作時調(diào)用.
          onLoadError = function(target:FlashPaper, type:String,
          errorCode:String) {} 當FlashPape文件未能加載時調(diào)用.
          onDisplay = function(target:FlashPaper, type:String) {} 當FlashPape
          文件已經(jīng)顯示時調(diào)用.
          onUnload = function(target:FlashPaper, type:String) {} 當卸載FlashPape
          文件時調(diào)用.
          onPageChanged = function(target:FlashPaper, type:String,
          newPageNumber:Number) {} 當FlashPape文件翻頁時調(diào)用.
          onZoomChanged = function(target:FlashPaper, type:String,
          percent:Number) {} 當FlashPape文件縮放時調(diào)用.
          onSelection = function(target:FlashPaper, type:String) {} 當FlashPape
          文件的文字被選擇時調(diào)用.
          onToolChanged = function(target:FlashPaper, type:String,
          newTool:String) {} 當更換FlashPape文件的 工具時調(diào)用.
          onEnableScrolling = function(target:FlashPaper, type:String,
          enable:Boolean) {} 當FlashPape文件滾動時調(diào)用.
          onVisibleAreaChanged = function(target:FlashPaper, type:String) {} 當
          FlashPape文件的哭件區(qū)域變化時調(diào)用.
          方法摘要
          方法 說明
          load(path:String) : Void 載入一個FlashPape文件.
          destroy() : Void 卸載FlashPape文件.
          move(x:Number, y:Number) : Void 移動FlashPape組件).
          toString() : String 返回組件的名稱.
          getIFlashPaper() : FlashPaper.IFlashPaper 返回一個實現(xiàn)IFlashPaper接口
          的對象.
          如果這個函數(shù)未定義,那么載入的SWF文件不是一個FlashPaper 2.0文件.
          如果這個函數(shù)存在,但是返回null或undefined,那么載入的SWF文件是一個
          FlashPaper 2.0文件,但是還沒有載入足夠的內(nèi)容去實現(xiàn)這個API;你必須等待載
          入足夠的內(nèi)容并且再次調(diào)用它.
          getViewerType() : String 返回一個描述包含 SWF文件的接口的類型的字符串.
          這個Macromedia FlashPaper標準閱讀器總是返回Macromedia FlashPaper
          Default Viewer.
          getViewerVersion() : Number 返回一個標識這個文件接口版本代號整數(shù).
          返回的整數(shù)不是連續(xù)的,但是這個整數(shù)顯示閱讀器最近的版本 ,而且可以顯示除
          錯或增強的功能.
          比如FlashPaper 2.01返回 218.
          getCurrentPage() : Number 返回當前頁數(shù)(與工具欄顯示的相同).第一頁是
          1.
          setCurrentPage(pageNumber:Number) : Void 設(shè)置當前頁數(shù).需要保證此頁是可
          顯示的,但不必調(diào)節(jié)縮放.
          getNumberOfPages() : Number 返回文件總頁數(shù).
          注意: 也許不是所有的頁都是可顯示的, 屈就于連接速度.
          getLoadedPages() : Number 返回當前載入的頁數(shù)(可顯示的).
          這個數(shù)值一定在0到getNumberOfPages()之間.

          getLoadedPages() == getNumberOfPages()
          時,這個文件便完全載入.
          showUIElement(part:String, flag:Boolean) : Void 應(yīng)藏或者顯示FlashPaper
          文件外觀的部件.區(qū)分大小寫:
          "PrevNext" 前一頁和后一頁按鈕的隱藏或顯示.
          注意: 如果這些按鈕是隱藏的,當前頁文字框回失效,但不會隱藏.
          "Print" 打印按鈕的隱藏或顯示.
          "Tool"所有工具選擇按鈕的隱藏或顯示.
          "Zoom" 所有所放控制按鈕的隱藏或顯示.
          "Find"文字搜索框的隱藏或顯示.
          "Pop" 在瀏覽器中打開文件按鈕的隱藏或顯示.
          "Sidebar"邊框 (顯示文件邊框)按鈕的隱藏或顯示.
          注意: 這個變量無論這個文件是否包括邊框i; 沒有邊框的文件從不顯示邊框
          按鈕.
          "Page" 當前頁和總頁數(shù)按鈕的隱藏或顯示
          "Overflow" 超出菜單的隱藏或顯示.
          注意:這個菜單僅在工具條太狹窄而不能顯示時;你不能用這個變量強制顯示超
          出菜單.
          "ZoomKeys" 這個參數(shù)不影響外觀;他控制是否能用快捷鍵所放文件(例如,
          +, -, p, w).
          "Brand" 品牌按鈕的隱藏或顯示.
          "Close" 關(guān)閉按鈕的隱藏或顯示.
          traceUIElements() : Void 輸出UI Elements的可見性.
          printTheDocument() : Boolean 模仿用戶單擊答應(yīng)按鈕. 在調(diào)用函數(shù)前,文件必
          須完全載入.
          getCurrentZoom() : Number 返回當前縮放水平.
          注意: 縮放水平總是返回一個數(shù)值r;不會返回頁面寬度.
          setCurrentZoom(percent:Object) : Void 設(shè)置當前縮放水平.你可以傳入一個
          數(shù)值指示所放百分比 (例如, 100表示100%)..你也可以傳入一個字符串
          "width"適合頁面寬度,或者傳入字符串 "page"適合到頁.
          setSize(w:Number, h:Number) : Boolean 設(shè)置組件的顯示排列,單位是象素.
          如果成功設(shè)置則返回true,不成功則返回false.
          goToLinkTarget(linktarget:String, window:Object) : Void 觸發(fā)錨點或URL
          連接請求.
          如果傳入的字符串是錨點名稱:foo,當前視圖會移動到那個錨點.window參數(shù)
          會被忽視.如果foo不是一個有效的錨點名稱,則不會執(zhí)行動作.對于其它的字符
          串,會執(zhí)行g(shù)etURL(linktarget, window) (想了解更多的信息,請見
          ActionScript文檔).
          enableScrolling(flag:Boolean) : Boolean 阻止用戶滾動文件.當滾動被禁止
          時:
          滾動條不可用,但是可見.
          滾動按鈕不可用.
          使用鼠標滾輪滾動不可用.
          getCurrentTool() : String 返回當前活動的工具.如果沒有活動的工具,則返回
          空字符串.以下是現(xiàn)在支持的值:
          "" (沒有工具)
          "pan" (手形工具)
          "select" (文字選擇工具)
          setCurrentTool(tool:String) : Boolean 設(shè)置活動工具.如果參數(shù)錯誤或者該
          工具不可用則返回false.以下是現(xiàn)在支持的值:
          "" (沒有工具)
          "pan" (手形工具)
          "select" (文字選擇工具)
          getTextSelectionRange() : FlashPaper.SelectionRange 返回一個描述當前選
          擇文字的對象.如果沒有選擇文字,則返回null.
          注意:與getVisibleArea()返回的對象不同,這個函數(shù)總是返回一個
          FlashPaper.SelectionRange,這是一個明確定義的對象, 你可以檢查,分解或者
          構(gòu)造一個新的對象.
          setTextSelectionRange(sel:FlashPaper.SelectionRange,
          skipBroadcast:Boolean) : Void 選擇特定的文字.你可以傳入null,從而取消
          選定所有的文字.無效的范圍(沒有頁面)會被省略(它允許你設(shè)定范圍 從0到一
          個很大的數(shù),例如999999,從而選定所有文檔).如果skipBroadcast是false (或
          未定義), 會廣播onVisibleAreaChanged(). 如果skipBroadcast是true, 則不
          會廣播onVisibleAreaChanged().
          注意:與getVisibleArea()返回的對象不同,這個函數(shù)總是返回一個
          FlashPaper.SelectionRange,這是一個明確定義的對象, 你可以檢查,分解或者
          構(gòu)造一個新的對象.
          getSelectedText() : String 以Unicode編碼的字符串返回選擇的文字.如果每
          有被選擇的文字,會返回空字符串.
          getSidebarWidth() : Number 返回其他按鈕的寬度.
          沒有邊框的文件會返回0.
          setSidebarWidth(w:Number) : Void 設(shè)置其他按鈕的寬度.
          傳入0從而完全隱藏其他按鈕.
          沒有邊框的文件會忽視調(diào)用.
          getFindText() : String 以Unicode編碼的字符串返回查找的文字.
          setFindText(s:String) : Void 設(shè)置文字查找框的文字.
          這個函數(shù)不會執(zhí)行查找操作或改變當前選擇.
          findNext() : Boolean 查找文字查找框中輸入的文字.
          從當前選擇文字的后面開始查找.
          要從文檔的開頭查找,請先調(diào)用setSelectionRange(null).
          如果找到了文字,調(diào)用getTextSelectionRange()返回詳細的范圍.
          getVisibleArea() : Object 返回描述文檔當前可見區(qū)域的對象.返回的對象有
          如下作用:
          傳入setVisibleArea().
          這個可以用來在不同的計算機上觀看同一文檔,而且可以保持同步.
          與先前getVisibleArea()返回的對象進行比較,測試可見區(qū)域是否改變.
          返回的對象應(yīng)該被認為是封閉的數(shù)據(jù)結(jié)構(gòu).不要試圖分解返回的對象,因為在將
          來的版本中內(nèi)容的格式可能不同.
          這個對象唯一不變的方法是:
          function equals(that:Object):Boolean;
          我們可以用它比較兩個可見區(qū)域是否相同.
          setVisibleArea(area:Object, skipBroadcast:Boolean) : Void 調(diào)節(jié)當前可見
          的頁/縮放/滾動從而 匹配給定的區(qū)域?qū)ο?
          如果skipBroadcast是false (或未定義), 會廣播onVisibleAreaChanged().
          如果skipBroadcast是true, 則不會廣播onVisibleAreaChanged().
          傳入的對象必須是先前由getVisibleArea返回的對象.
          不要試圖創(chuàng)建你自己的對象,因為在將來的版本中內(nèi)容的格式可能不同.
          posted on 2010-04-03 23:35 SIMONE 閱讀(1772) 評論(0)  編輯  收藏 所屬分類: flash
          主站蜘蛛池模板: 苏尼特右旗| 铅山县| 谷城县| 贵定县| 永川市| 都江堰市| 泾川县| 铁岭县| 定远县| 渝北区| 丹凤县| 锦屏县| 青铜峡市| 阜城县| 淮南市| 平泉县| 芒康县| 吴旗县| 镶黄旗| 崇信县| 巴马| 高陵县| 浠水县| 葫芦岛市| 石屏县| 连平县| 门源| 革吉县| 通榆县| 荥经县| 巨野县| 天峻县| 夹江县| 屯留县| 镇平县| 三台县| 彭州市| 中山市| 雷州市| 张家界市| 沁源县|