NEWS

2017.10.21 「バージョンごとの機能比較」を更新しました。

  • Web creators

FLASH関連

HTMLからFlashに値を渡す

概要

ActionScriptで利用する変数値はパブリッシュ前のFlash作成時に設定する方法と、HTMLやCGIなど外部から渡す方法の2種類あります。
1つのFlashファイルでページごとに表示を変えたい場合やFlash内のシンボルを簡単に切り替えたい場合などに利用することができます。

サンプル解説

Flashには日本地図が描かれており、北海道・本州・四国・九州の4つのシンボルに分類しています。
HTMLからシンボルに対して値を渡しているため、色分けして表示されます。

作成法

(1)シンボルの作成

・各地方のシンボルをライブラリに作成。

シンボルの作成

・シンボルの編集画面を表示。
・レイヤー「レイヤー1」にキーフレームを3つ用意。
・レイヤー「レイヤー2」を3フレーム目まで挿入。

シンボルの編集

・2フレーム目を選択し、シンボルの色を変更
・同様に3フレーム目のシンボルも色を変更。

シンボルの色を変更

・レイヤー「レイヤー2」にActionScriptを設定。

01
this.stop();

(2)シンボルをステージに配置

・下図のようにライブラリのシンボルを配置。
・北海道のシンボルにインスタンス名「MC_01」を設定。
・本州のシンボルにインスタンス名「MC_02」を設定。
・四国のシンボルにインスタンス名「MC_03」を設定。
・九州のシンボルにインスタンス名「MC_04」を設定。

シンボルの配置

(3)ステージにActionScriptの設定

・レイヤー「レイヤー2」に以下のActionScriptを設定。

01
02
03
04
05
06
07
08
09
10
11
12
13
onEnterFrame = function() {
	_root.MC_01.gotoAndStop(_root.valueCheck(_root.va));
	_root.MC_02.gotoAndStop(_root.valueCheck(_root.vb));
	_root.MC_03.gotoAndStop(_root.valueCheck(_root.vc));
	_root.MC_04.gotoAndStop(_root.valueCheck(_root.vd));
}

function valueCheck(value){
	if(value != 1 && value != 2 && value != 3){
		value = 1;
	}
	return value;
}

(4)パブリッシュ後のHTMLファイルを編集

・HTMLファイルのSWFの読み込み箇所に以下を設定。
(EMBEDタグにも同様の設定を行う)

01
<param name="movie" value="index.swf?va=1&vb=2&vc=3&vd=2" />

解説

HTMLからFlashに値を渡す場合には、HTMLのSWFファイルを指定するパスに変数名と変数値を追記することで実装できます。
ステージに設定したActionScriptの2〜5行目はHTMLから受け取った値を利用して各シンボルの表示するフレームを指定しています。
一度「valueCheck」という関数を値が経由していますが、用意したシンボルは3フレーム目までしかないため、1〜3以外の数値や文字列が変数として渡された場合、強制的に"1"を指定するようにしています。

ページ上部へ