ExternalInterfaceを使って、FlashからCSSのbackgroundを変える //AS3 & JS & CSS
Flash内からHTML内の背景色を変更したい場合に、ActionScript3.0とJavaScript、CSSの連係プレーで実装します。
FlashからJavaScriptへは、AS2でもよく使ったExternalInterfaceを使い、JavaScriptからCSSへは、document.getElementByIdを使ってdivのID名を探し、.className="クラス名"でクラス名を設定します。
下のサンプルでは、#idname内のbackgroundを3色の中から変更できる仕様です。
FlashからJavaScriptへは、AS2でもよく使ったExternalInterfaceを使い、JavaScriptからCSSへは、document.getElementByIdを使ってdivのID名を探し、.className="クラス名"でクラス名を設定します。
下のサンプルでは、#idname内のbackgroundを3色の中から変更できる仕様です。
//Flash内AS3.0
import flash.external.ExternalInterface;
colorID = no;
var result:uint = ExternalInterface.call("callJS", no);
//JavaScript
function callJS(str) {
switch(str){
case 1: document.getElementById("idname").className = "color1";break;
case 2: document.getElementById("idname").className = "color2";break;
case 3: document.getElementById("idname").className = "color3";break;
}
return str;
}
//CSS
.color1{
width:100px;
height:200px;
background:#ff6600;
}
.color2{
width:100px;
height:200px;
background:#ffffff;
}
.color3{
width:100px;
height:200px;
background:#333333;
}
最近忙しさのせいにして、ブログのアップを怠っています。反省して、来月からまた頑張ります。