您當前的位置:首頁 > 網頁設計 > flash技術 flash技術

如何在flash中嵌套flash

發布時間:08-10  來源:云動網絡  作者:云動  點擊:

  一、loadMovie("url",target [, method])
  描述:函數;在播放原始 SWF 文件的同時將 SWF 文件或 JPEG 文件加載到 Flash Player 中目標影片剪輯的路徑。
  首先我們可以看到該函數有3個參數:url、target、method。其中,最后一個參數“method”是一個可選參數。
  1.參數url:要加載的 SWF 文件或 JPEG 文件的絕對或相對 URL(路徑)。
  這就是說這個url可以是本地的文件路徑,也可以是Internet上的文件地址。但是,無論從何處加載,都只能是 SWF 或 JPEG 文件。并且,該參數是一個字符串,所以必須寫在半角雙引號中,如: loadMovie("01.swf", _root) loadMovie("01.jpg", _root) loadMovie("http://www.abc.com/01.swf", _root)loadMovie("http://www.abc.com/01.jpg", _root)
  2.參數target:指向目標影片剪輯的路徑。目標影片剪輯將替換為加載的 SWF 文件或圖像。
  這個參數表示要影片將被加載到的路徑,它指向目標影片剪輯的路徑。加載后,目標影片剪輯將替換為加載的 SWF 文件或圖像。如: loadMovie("01.swf", _root) loadMovie("01.swf", _root.loading) loadMovie("01.swf", _root.loading.01)
  3.參數method:可選參數,指定用于發送變量的 HTTP 方法。該參數必須是字符串 GET 或 POST。如果沒有要發送的變量,則省略此參數。GET 方法將變量追加到 URL 的末尾,它用于發送少量的變量。POST 方法在單獨的 HTTP 標頭中發送變量,它用于發送大量的變量。
  二、loadMovieNum("url",level [, variables])
  描述:函數;在播放原來加載的 SWF 文件的同時將 SWF 文件或 JPEG 文件加載到 Flash Player 中的某個級別。
  首先我們可以看到該函數有3個參數:url、target、variables。其中,最后一個參數“variables”是一個可選參數。
  1.參數url:要加載的 SWF 文件或 JPEG 文件的絕對或相對 URL(路徑)。
  該函數的此參數和上面loadMovie中的此參數用法完全一致,這里不再作解釋。
  2.參數level:一個整數,指定 SWF 文件將加載到 Flash Player 中的哪個級別。
  加載的時候,可以這樣來寫: loadMovieNum("01.swf", 1); loadMovieNum("01.swf", 2); loadMovieNum("01.swf", 3);
  控制的時候,可以這樣使用: _level1._x=10 ;_level2.aa._alpha=50 ;_level3.aa.bb._width=110;
  需要注意的的是,每一個級別只能同時存在一個 SWF 或 JPEG 文件。如果兩個 SWF 或 JPEG 文件的級別相同,那么后者將替換掉前者。級別不同的_level,級別大的將覆蓋掉級別小的,即:數字大的將處于數字小的之上。
  3.參數variables:可選參數,指定發送變量所使用的 HTTP 方法。該參數必須是字符串 GET 或 POST。如果沒有要發送的變量,則省略此參數。GET 方法將變量追加到 URL 的末尾,它用于發送少量的變量。POST 方法在單獨的 HTTP 標頭中發送變量,它用于發送大量的變量。
  三、loadMovie/loadMovieNum 的定位
  我想,也許這才是大家真正要找的東東:)
  1.loadMovie的定位
  由于用loadMovie加載進來的 SWF 或 JPEG 文件,最后是放置于目標影片剪輯里的,所以我們完全可以像控制MC的_x和_y,來控制加載到的目標影片剪輯。就好像我們在墻壁(_root)上掛上了一個相框(目標影片剪輯),然后又在相框里面放入(加載)了一張相片(SWF 或 JPEG 文件),那么當我們想挪動相片的位置的時候,只要移動相框的位置就可以了。
  比如在主場景中有一個實例名為aa的MC(坐標為(20,30)),我們要在里面加載一個02.swf文件,并且要加載后這個放到相框(_root.aa)中的相片(02.swf)出現在主場景(_root)坐標系的(50,100)處。代碼如下:
  loadMovie ( "02.swf" , _root . aa ); _root . aa . _x = 50 ; _root . aa . _y = 100 ;
  在實際應用中,其實更加傾向于用AS創建一個空MC,然后在這個MC中加載外部 SWF 或 JPEG 文件。代碼如下:
  _root . createEmptyMovieClip ( "aa" , 1 ); with ( aa ) { _x = 50 ; _y = 100 ; loadMovie ( "02.swf" ); }
  2.loadMovieNum的定位
  從前面我們已經知道了,函數loadMovieNum是將 SWF 或 JPEG 文件加載到_level(級別)的。并且是用_level1._x、_level2._x、_level1.aa._x之類的來定位的。比如我們要將02.swf加載到主場景坐標系的(50,100)中,代碼如下: loadMovieNum ( "02.swf" , 1 ); _level1 . _x = 50 ; _level1 . _y = 100 ;
  但是在測試的時候大家會發現加載進來的02.swf并沒有如我們預期的那樣出現在主場景坐標系的(50,100)位置,這是為什么呢?
  原來,在沒有使用loadMovieNum以前,所有的圖形、MC等等都是處于_level0里的,我們通常使用的_root其實就是_level0。你可以作個測試:trace(_root==_level0),你會發現返回值是“true”。
  那么,我們用loadMovieNum加載 SWF 或 JPEG 文件的時候,程序就要對你指定的_level進行創建,隨后再緊接著載入 SWF 或 JPEG 文件。如果像剛才代碼中寫的那樣,不判斷_level是否存在而調用其屬性,勢必無功而反。
  解決的方法也很簡單,就是用一個循環來判斷指定的_level是否存在。一旦_level產生,那么它的種種屬性自然可以調用了。代碼如下:
  loadMovieNum ( "02.swf" , 1 ); onEnterFrame = function () { if ( _level1 ) { with ( _level1 ) { _x = 50 ; _y = 100 ; } delete onEnterFrame ; } };
  或者:
  loadMovieNum ( "02.swf" , 1 ); function go () { if ( _level1 ) { with ( _level1 ) { _x = 50 ; _y = 100 ; } clearInterval ( fps ); } } fps = setInterval ( go );

更多
足彩胜负彩玩法2场