同じFLASHを、様々なフレームからスタートさせる

| | コメント(0)

□FLASH側
FLASHの1フレーム目のタイムラインに以下のActionScriptを記述。
if(frameno=="jump01"){
gotoAndPlay(10);
}


[基本]HTML上で変数を指定
ソースファイルでswfのアドレスが指定されているの、そこに変数を記入
sample.swf?frameno=jump01
こうすることによって、sample.swfの_rootに、framenoという変数が作成され、jump01という値が代入される。
FLASH内の他の変数名とかぶらないように注意すること。
swfに直接リンクする場合も「sample.swf?frameno=jump01」という書き方で可能。

[応用]JavaScriptでurlから変数を取得
基本では直接htmlに書くため、HTMLファイルの使い回しが出来ない。
htmlファイルも共通のものを使う場合、以下の方法で設定する。
htmlファイルのアドレス→sample.html?jumn01
swfの記述部分を以下に変更する
<SCRIPT language="javascript">
<!--
//?以降の文字を取得する
var data = location.search.substring(1, location.search.length);
MOVIEADD = "sample.swf?frameno="+data;
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="450" width="600">

document.write("<param name=¥"movie¥" value=¥""+MOVIEADD+"¥">");
document.write("<param name=¥"quality¥" value="¥"best¥">");
document.write("<param name=¥"play¥" value="¥"true¥">");
document.write("<embed height=¥"45¥0" pluginspage=¥"http://www.macromedia.com/go/getflashplayer" src=¥""+MOVIEADD+"¥" type=¥"application/x-shockwave-flash¥" width=¥"600¥" quality=¥"best¥" play=¥"true¥">");
document.write("</object>");
//-->
</SCRIPT>

コメントする