萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> Flash教程 >> Flash“在第一幀導出”卡對loading的影響

Flash“在第一幀導出”卡對loading的影響

   Flash的“在第一幀導出”巨傻無比!在第一幀導出,無疑是要在Loading前就要把你用來attach的MC、聲音、V2組件……都下載了才顯示Loading條!So往往Loading都不會是從10%以內開始的!! 如果直接去掉咧?既然是用來attach的,去掉後Flash就根本不導出到SWF了,所以肯定就attach不到了!

  OK解決方法:

  情況1:V2組件

  這個最簡單,庫,組件屬性,去掉那個傻X到死在第一幀導出,然後點 發布設置 ,AS版本 後面的設置,導出用於類的幀 那裡寫第幾幀導出就OK了。看來MM還沒傻到掉渣~

  情況2:聲音

  這個最嚴重~因為直接在UI裡以幀的方式綁定聲音太不好用,所以Sound對象已經是本貓的標准配置(?)了。And最要命的就是,Loop還好,幾百K;往往其他音頻文件都是幾M的,嚴重影響Loading!還好今天發現了很簡單的解決方法(高呼萬歲三聲):

  庫,需要attachSound的聲音元件的屬性,去掉那個傻X到死在第一幀導出。然後,把該元件 以·音·頻·事·件·的方式綁定到Loading後、attachSound()該聲音前的某幀。然後在這幀或者下一幀上寫:

  stopAllSounds();

  簡單吧,沒吐血吧。呵呵~

  OK,問題來了,首先這個stopAllSounds();是會把所有的聲音都停掉哦,只能說祈禱你剛loading完時,是沒有其他聲音的(當然1秒不到的音效不容易影響到);其次,我總感覺,如果聲音元件開頭不是靜音,會不會在綁定到時間軸時,“卡”的一下咧?雖然我自己試了,不會,不過總是小心為好吧。建議少attachSound吧,能用時間軸綁的就綁吧~(綁好吊起來打??)

  情況3:MC

  這個就好辦了,解決方法同上,在Loading後、attachMovie()該MC前的某幀,直接把相應MC放進場景並隱藏即可。如何隱藏就不用說了吧~ mc._alpha=0;也好,放在舞台外也好,甚至改變此MC實例的深度,然後用removeMovieClip()刪除!

  是的,你沒看錯~MM在Flash幫助文檔說,removeMovieClip()不能刪除你在Flash工作區域內放進去的MC,其實是騙人的啦。你只要把該MC的depth改成非負數就可以了,或者把attachMovie()、或duplicateMovieClip()、甚至 createEmptyMovieClip() 的MC的Depth改成負數,照樣不能removeMovieClip()!

copyright © 萬盛學電腦網 all rights reserved