隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評論

          閱讀排行榜

          評論排行榜

          查看完整版本 : 怎樣在Flash里嵌入Flash影片?


          天使之翼
          2005-08-08, 15:03
          做一個FLASH網站,怎么加載另外的FLASH到場景里?
          類似畫中畫的效果 :confused:

          明天
          2005-08-08, 15:42
          將嵌入的flash做成影片剪輯就可以了

          天使之翼
          2005-08-08, 15:46
          將嵌入的flash做成影片剪輯就可以了

          這個我知道,這樣會增加文件的大小,影響網上瀏覽速度。
          我想把影片分成若干個FLASH文件載入。

          actionscript
          2005-08-08, 15:48
          簡單一點
          同樣是loadmovie
          載入與被載入的影片實際大小是一致的
          當然,被載入的影片實際有動畫的就是你圖中的小紅框部分

          通過在對應的層loadmovie要載入的影片
          可以簡便的實現效果

          天使之翼
          2005-08-08, 17:05
          簡單一點
          同樣是loadmovie
          載入與被載入的影片實際大小是一致的
          當然,被載入的影片實際有動畫的就是你圖中的小紅框部分

          通過在對應的層loadmovie要載入的影片
          可以簡便的實現效果

          不行,這樣整個頁面都在LOAD!
          我只要小畫面里顯示加載數據,然后單獨操作播放。

          OREZ
          2005-08-08, 23:53
          我也是用 loadmovie就ok了
          用層或者目標窗口都可以的

          天使之翼
          2005-08-09, 16:58
          哈哈…………經過反復實驗終于成功實現理想效果。
          果然還是LoadMovie的作用,只不過要用一個影片組建來指定位置。
          恩!還是要謝謝大家。 :D

          天使之翼
          2005-08-10, 17:00
          暈……又碰到新問題了,現在在FLASH模式下瀏覽影片能正確加載嵌入。為什么一導入進HTML里瀏覽就無法正常加載嵌入???
          難道腳本有錯,還是別的原因?

          LOADMOVIE的腳本

          loadMovie("\\word.swf", "");

          word.swf為被嵌入的影片。
          還有什么“位置”“目標”“變量”之類的選項都有什么做用?

          真·大頭
          2005-08-10, 17:39
          如果你放在同一個目錄下應該是loadMovie("word.swf");
          沒有\\的

          其他參數不寫用默認的就行了

          真·大頭
          2005-08-10, 17:45
          還有一般是在外面的flash用點語法寫的
          比如你把那個要載入的mc命名為a,在外面的楨寫a.loadMovie("word.swf"),然后還能順便定義a的大小位置什么的

          adam
          2005-08-10, 21:11
          問題一:如何控制被加載進來的SWF文件的坐標和長寬比例大小?

          控制被加載進來的SWF文件控制其長寬要采用onEnterFrame,比如:

          on (press) {
          loadMovie("a2.swf", "_root.mymc");
          onEnterFrame = function () {
          _root.mymc._x = 0;
          _root.mymc._y = 0;
          _root.mymc._width = 330;
          _root.mymc._height = 240;
          };
          }

          為什么用 onEnterFrame呢?因為被加載進來的的過程中,有點延時,如果沒有onEnterFrame語句,那么語句讀取一次就不讀取了,然而讀取了這一次之后,還沒有加載進來,所以就會導致坐標大小設置無效。同樣,如果加載到層上,也是這樣的。

          on (press) {
          loadMovie("a1.swf", 1);
          onEnterFrame = function () {
          _level1._x = 17;
          _level1._y = 30;
          _level1._width = 330;
          _level1._height = 240;
          };
          }

          請注意這兩種方法,第一種,把外部的a2加載到mymc中,加在進來后,a2就自動的替換了mymc,我們直接設置mymc的屬性就設置了被加載進來的swf的屬性。第二種方法,_level是對于加載到時間軸上的電影的引用,加載到第2層就是_level2;加載到第3層就是_level3。

          adam
          2005-08-10, 21:12
          問題之二:如何實現點擊按鈕加載一個外部SWF文件,并且要顯示加載的下載進度呢?

          有兩個方法來實現這個效果,其一:把加載londing寫在主文件中,其二,被加載的子SWF文件有自己的londing。現在分別給予說明。

          其一:在主文件中寫londing

          外部子swf文件名為a1,主文件中有一個動態文本框名為loadText,一個按鈕名為bbt,現在把loadMovie和londing寫在楨上。

          _root.bbt.onPress = function() {
          _root.createEmptyMovieClip("mc", 10);
          mc.loadMovie("a1.swf");
          mc._visible = false;
          _root.bbt.onEnterFrame = function() {
          var l = mc.getBytesLoaded();
          var t = mc.getBytesTotal();
          var getPercent = l/t;
          loadText = Math.round(getPercent*100)+"%";
          if (l>0 && l>=t) {
          mc._visible = true;
          delete this.onEnterFrame;
          }
          mc._x = 10;
          mc._y = 10;
          mc._width =440;
          mc._height = 320;
          };
          };

          其二:子文件中有自己的londing

          這個寫法與前面說的londing一樣,只是注意一個問題就是注意路徑的問題,比如這樣寫:

          第一禎

          loaded = getBytesLoaded();
          total = getBytesTotal();
          lts = Math.round((loaded/total)*100);
          wenben = lts+"%";

          第二禎

          if (lts == 100) {
          gotoAndStop(3);
          } else {
          gotoAndPlay(1);
          }

          和前面的londing中介紹的比較,看出不同之處沒有呢?僅僅是去掉了_root因為被加載后,外部SWF文件就相當于主文件中的一個MC 有了_root 就是指向主文件的_root 了,當然會顯示錯誤。

          adam
          2005-08-10, 21:12
          問題三:我想在舞臺上畫一個屏幕,然后點擊一個按鈕就載入一個外部swf進行播放該怎樣做呢?

          那么我們就來一起做一個相冊吧。當主文件載入后,單擊按鈕就載入一個外部swf 文件,并且都有londing顯示。首先我們做好以下準備工作:(1)準備幾張圖片,現在我們準備7張,6個子文件一個一張,主文件用一張。(2)主文件舞臺大小為了適應網頁的需要,設置為770*420。子文件舞臺大小設置為512*384,這樣就不需要載入后控制大小了,方便些(其實我們應當這樣,省去一些麻煩。

          一、制作子文件。每個都用來顯示圖片,第一和第二禎寫londing,第三禎~~二十禎根據自己的愛好做點亮度變化,以產生動感,最后一禎寫上stop()。第一和第二禎的londing如下

          第一禎

          loaded = getBytesLoaded();
          total = getBytesTotal();
          lts = Math.round((loaded/total)*100);
          wenben = "數據下載中 "+lts+"%";

          第二禎

          if (lts == 100) {
          gotoAndPlay(3);
          } else {
          gotoAndPlay(1);
          }

          就這樣如法炮制的制作6個,分別命名為b1…..b6都發布成swf文件。保存在一個文件夾中。

          二、制作主文件

          第一禎用來寫londing,第2禎放一些像屏幕一樣的東西,和按鈕,為了增加效果,放一個音樂在時間軸上。

          第一禎的londing//由于前面已經說得多了,就不贅述了

          stop();
          i = 0; ,
          onEnterFrame = function () {
          // 使用不斷觸發的事件
          loaded = _root.getBytesLoaded();
          total = _root.getBytesTotal();
          var aa = Math.round((loaded/total)*100);
          _root.dongtai.wenbens = aa+"%";
          _root.dongtai._x = 188+aa*3;
          _root.bb._width = aa*3;
          if (aa>=100) {
          // 檢測到滿足條件就跳出來,否則繼續循環
          _root.gotoAndStop(2);
          delete this.onEnterFrame;
          // 使用delete的目的是當完成下載后銷毀onEnterFrame事件,以節約資源的消耗。
          }
          };

          第2禎的按鈕上的AS

          on (press) {
          _root.i++;
          if (i == 7) {
          i = 6;
          }
          loadMovie("b"+i+".swf", "_root.mc");
          _root.tishi = "第"+i+"張圖片";
          }

          偷點懶,就不詳細的贅述其含義, 我們也可以用很長的語句來實現相同的效果,這種寫法是對AS的一種濃縮。

          adam
          2005-08-10, 21:13
          問題四:我想逐次載入多個外部文件,當第一個載入播放完畢后,立即載入第2個,第二個播放完畢后,立即載入第3個 ,……,直到結束。怎么辦?

          首先對這種提問,我們先要質問一下提問的人,這樣做有什么意義? 與其這樣,不如全部做到一個SWF中,因為每次調用一個外部SWF的時候,需要一定的時間來等待下載。當然,如果你想制作一個連續劇,播放完了一個后,用londing下一集的londing畫面顯示“正在載入下集,請稍候”那么還是可以的。

          方法很簡單:依照問題三的原文件,稍微修改,去掉一個按鈕,用一個按鈕載入第一個,然后再第一個的最后一禎放個調用主文件中的函數即可。

          按鈕:

          on (press) {
          loadMovie("b1.swf", "_root.mc");
          }

          主文件定義的函數

          function go2() {
          loadMovie("b2.swf", "_root.mc");
          }
          function go3() {
          loadMovie("b3.swf", "_root.mc");
          }
          function go4() {
          loadMovie("b4.swf", "_root.mc");
          }
          function go5() {
          loadMovie("b5.swf", "_root.mc");
          }
          function go6() {
          loadMovie("b6.swf", "_root.mc");
          }

          第一個b1 SWF的最后一禎_root. go2(),第二個外部SWF的最后一禎 _root.go3()………..

          adam
          2005-08-10, 21:15
          天使之翼 (http://www.v6dp.com/member.php?u=54) vbmenu_register("postmenu_70481", true); 請等幾天,我正在給你寫flash整站的教學教程!
          不好意思!
          這兩天實在太忙

          天使之翼
          2005-08-11, 02:46
          謝謝!adam的回復,好復雜,我要慢慢消化:)
          再次感謝。 :D

          adam
          2005-08-11, 09:48
          厚厚~~,翼也在做自己的個人站點把!!
          我也在做!共同努力

          亦韋
          2005-08-11, 11:34
          果然是高手,很受用!其實也不用這么麻煩,一般的效果,應該用loadmovie就足夠了,載入到空MC下,空MC擺放到要載入影片指定位置,再把要導入的影片loadmovie進來就行了。如果用loadmovienum
          加載到層中的話,固定位置稍有些麻煩,需要的朋友可以搜一下,網上相關資料很多,本人水平有限,就不“班門弄斧”了。

          下面是下載條的代碼,只要放到第一幀上就行了,改下坐標,長、寬度就可以用了,挺實用的^_^。(來源于網上)

          stop ();
          function dr ( nam , de , d , al ) {
          na = createEmptyMovieClip ( nam , de );
          na . lineStyle ( d , 0x000000 , al );
          na . _x = 149.0 ;
          na . _y = 229.0 ;
          na . lineTo ( 323.9 , 0 );
          }
          //一個畫線條的函數
          onEnterFrame = function () {
          var a = getBytesTotal ();
          var b = getBytesLoaded ();
          //取得下載的數據
          if ( b < a ) {
          dr ( "b1" , 0 , 1 , 20 );
          dr ( "b2" , 1 , 1 , 10 );
          dr ( "b3" , 2 , 1 , 100 );
          b3 . _xscale = b / a * 100 ;
          //畫三條橫線,顯示下載進度;
          } else {
          delete onEnterFrame ;
          b1 . removeMovieClip ();
          b2 . removeMovieClip ();
          b3 . removeMovieClip ();
          play ();
          //下載完畢,刪除圖形和函數;
          }
          };

          問題四:我想逐次載入多個外部文件,當第一個載入播放完畢后,立即載入第2個,第二個播放完畢后,立即載入第3個 ,……,直到結束。怎么辦?

          我這邊有個點擊播放下一個的代碼,你看看有用嗎?
          時間軸上:
          stop();
          i=0;//定義一個變量i,并且賦初值為0;
          建一個空幀,命名為:“body1_mymc”再放兩個按扭向下翻頁的加語法是:
          on(release){
          i++;
          if(i>15){//因為外面這有9張圖,當變量大于9的時候,讓變量為1,這樣能夠使加載的圖片是連續的,即,每點一次按扭,就換一張圖,等到換到第9張圖,再點按扭,則循環到第一張圖(j1.jpg到j9.jpg,因為沒有j0.jpg,如果i=0,則會提示沒有找到j0.jpg);
          i=1;
          }
          loadMovie(("j"+i)+".jpg",body1_mymc);//從j1.jpg開始加載圖片到影片剪輯mymc中;
          }
          向上翻頁的代碼與這段相反就行了。

          本人涉獵不深,希望與大家共勉。

          adam
          2005-08-11, 13:28
          v6是大家共同學習的地方,不用客氣!很高興能于大家交流!

          其實我認為網站的精髓不在技術,而在于美術,和個人的的設計修養水平,

          這也就是技術再復雜都能搞定,因為是技術,設計的頁面,是不能拿來主意的!

          我在搜房作設計師,所以偶爾看看技術。但我更美術設計

          希望大家能在設計一路上互相幫助,互相鼓勵! 共同學習

          比我強的人多如牛毛啊!!

          天使之翼
          2005-08-12, 14:39
          如果你放在同一個目錄下應該是loadMovie("word.swf");
          沒有\\的

          其他參數不寫用默認的就行了

          恩,問題解決了,去掉\\就行了,還是這個簡單 :D 謝謝了!

          TO:adam
          我是給公司做的網站(自己的一直想,可沒時間 :( )
          第一次嘗試用FLASH做全站,慢墁摸索中…………

          xlly
          2005-08-12, 20:39
          回答的很認真很具體!雖然懂!但是為你們的精神表示感謝!

          adam
          2005-08-14, 16:45
          好的!我們共同努力!~~~

          九章
          2005-08-17, 10:53
          借個地方跟個貼
          想請教一個FLASH問題
          我做的網頁..第一頁是FLASH.然后我一段FLASH完了以后,
          最后一幀是ENTER.然后我想點擊這個ENTER進入到我網頁的一個子頁面里..
          是相對路徑的..但是我怎么寫代馬就是進不去..怎么回事啊? :confused:
          謝謝謝謝~~各位路過神仙~~

          19831110
          2005-08-17, 17:25
          on(release){
          getURL("這里是你的文件路徑")
          }

          九章
          2005-08-17, 19:57
          沒用~~
          說我語法錯誤~~

          唉~

          真·大頭
          2005-08-17, 20:50
          你這個enter做成按鈕了嗎

          19831110
          2005-08-18, 08:02
          要寫在mc或者button上面``

          ※瀟灑※
          2005-08-28, 00:51
          嗯. 對. 放到主場景也可.^_^

          mcName.onRelease = function(){
          getURL("url.htm");
          }
          posted on 2006-06-12 09:04 blog搬家了--[www.ialway.com/blog] 閱讀(2022) 評論(5)  編輯  收藏 所屬分類: AS2.0

          FeedBack:
          # 請急幫忙!謝謝! 2007-03-21 01:33 問題·王
          如何點按鈕[前一個,后一個,停止]加載外部的SWF文件,并且當不點的時候可以依次加載下一個SWF文件,<但是當別人下載的時候只能下載到我的空文件,,>并且一開始不點按鈕的時候可以自動的下載播放,<CCTV中的BNNER>如果知道請告訴我好嗎,我的郵箱是:cyb339@126.com  回復  更多評論
            
          # re: 查看完整版本 : 怎樣在Flash里嵌入Flash影片? 2007-03-21 09:19 乞怪豬
          這個不難吧,不過不好說.我把思想給你說一下吧.
          做一個數組swf_arr = new Array("1.swf","2.swf","3.swf")
          然后做一個加載這些SWF的函數.
          _root.i = 0
          function loadswf(i) {
          mc.loadMovie(i+".swf");
          }
          然后就看第一個是不是放好了...
          要是放好了_root.i++;loadswf(_root.i)這個循環放.

          你的郵箱我發不出郵件!^__^  回復  更多評論
            
          # 怎么才能實現用主FLASH的一個按鈕調入、卸載另一個SWF 2008-03-12 13:31 落妝為素
          真的是用來救命的,做了個課件,這兒就卡住了  回復  更多評論
            
          # re: 查看完整版本 : 怎樣在Flash里嵌入Flash影片? 2008-03-29 22:11 000
          老師我想請教:AS3.0中下載進度條的語句怎么寫?  回復  更多評論
            
          # re: 查看完整版本 : 怎樣在Flash里嵌入Flash影片?[未登錄] 2009-12-03 15:00 KIKI
          @乞怪豬


          你這個只能播第一筆的swf.....沒辦法再播下一筆也

          可以再說明一下嗎  回復  更多評論
            
          主站蜘蛛池模板: 淮南市| 方山县| 本溪| 康定县| 绥芬河市| 保亭| 新河县| 江孜县| 班戈县| 梧州市| 且末县| 河源市| 宝兴县| 胶南市| 昌吉市| 靖江市| 兴宁市| 伊金霍洛旗| 历史| 柘荣县| 班戈县| 乌审旗| 德昌县| 察哈| 胶州市| 沅江市| 吉木乃县| 镇宁| 东乌珠穆沁旗| 韶关市| 景东| 大城县| 新绛县| 明水县| 长丰县| 武夷山市| 锡林郭勒盟| 葫芦岛市| 中西区| 广南县| 长垣县|