星期一, 4月 13, 2009

AS2:在Flash 8用同一個影片組件播放不同的影片



雖然現在Flash已經有CS4的版本,而且已經發行很久了;但不可否認的,還是有一些人仍然在使用Flash 8的版本,一樣在使用ActionScript 2.0。今天,我就遇到一個我很久沒在用的東西:影片組件。

影片組件可以很容易的把單一影片在swf檔案中播放,只要在參數視窗裡面,將空白的"contentPath"欄位指定影片的位置即可。但如果我想要點選不同的按鈕,讓同一個播放影片的影片組件播放不同的影片,又該怎麼做呢?

Adobe Flash的線上參考說明提供了一篇文章:Playing multiple FLV files,有相關的做法可供參考。其範例如下:
import mx.video.*;
my_FLVPlybk.contentPath = "http://www.helpexamples.com/flash/video/clouds.flv";
var listenerObject:Object = new Object();
// listen for complete event; play new FLV
 listenerObject.complete = function(eventObject:Object):Void {
  if (my_FLVPlybk.contentPath == "http://www.helpexamples.com/flash/video/clouds.flv") {
   my_FLVPlybk.play("http://www.helpexamples.com/flash/video/water.flv");
  }
};
my_FLVPlybk.addEventListener("complete", listenerObject);

其中,最值得注意的就是「contentPath」,指的就是影片路徑,用以告知影片檔案在何處。假設我們指定播放影片的影片元件的實體名稱為「my_FLVPlybk」,那麼只要在後面的contentPath指定影片位置,即可更新影片元件播放的內容。換言之,只要設定按鈕在按下去之後,指定新的contentPath給影片,就可以讓影片播放新的影片內容了。

沒有留言: