1つのSWFを別のSWFに読み込んでスキニングするという概念実証を設定しようとしています。セットアップはこれです:添付されたSWFを別のSWFにロードしますか?
app.fla
、UIコンポーネントが
AppMain.as
は明らかに、アプリケーションのロジックがすべて含まれています含まれている添付のActionScriptクラス、AppMain.as
skin.fla
を、持っていました。私は、その特定のスキンで定義されたインスタンス名に基づいて、ロードされたスキンファイルに含まれるUIコンポーネントに影響を与えたいと考えています。 私はmyTextField
のインスタンス名とTextField
を持っているのであれば、たとえば、私はAppMain.as
でプログラムそのテキストフィールドのtext
プロパティを設定できるようにしたいと思います。
flashvar
パラメータに基づいてスキンファイルをロードするには、エクスポートapp.swf
はこのように見えたHTMLドキュメントにロードされます:これは単に#swf
<div>
にapp.swf
をロード
<html>
<head>
<title>Test</title>
</head>
<body>
<div id="swf"><!--//--></div>
<script src="jquery.js"></script>
<script src="swfobject.js"></script>
<script>
$(document).ready(function() {
$('#swf').flash({
swf: 'app.swf',
width: 550,
height: 400,
flashvars: {
skin: 'skin.swf'
}
});
});
</script>
</body>
</html>
。どのように私の主なアプリケーションのSWFにスキンSWFを取得するための任意の助けに感謝します。私は現在、次のものを持っています(これはうまくいきません)。
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.net.URLRequest;
public class AppMain extends MovieClip
{
public function AppMain()
{
var myLoader:Loader = new Loader();
self.addChild(myLoader);
var myRequest:URLRequest = new URLRequest('skin.swf');
myLoader.load(myRequest);
}
}
}
ロードしようとしているスキンは、赤い背景があるので簡単です。ロードされているかどうかはわかります。それは私のHTMLページではありません私はまだ白い背景を持ってエクスポートしています。
上記のエラーがありますか? Flash Professional CS5のコンソールは、「コンパイルエラー」タブでエラーを表示していません。
おかげで、タマス。私はこれらの提案を行って、私の所見とともにここに報告します。 –
興味深い。スキンSWF *がロードされました。私はスキンSWFの背景色を赤に設定しましたが、テキストを(黄色で)追加し、白い背景に黄色のテキストが表示されたときにロードされると透明でした。 –
'AppMain'コンストラクタメソッドでflashvarを取得するにはどうすればよいですか?私は 'this.loaderInfo.parameters.skin'を試して" skin "というflashvarを選びましたが、これはうまくいかないようです。何か案は? –