C#の中にFlashを埋め込む
注:2003年頃の記事
WindowsアプリケーションのUIをFlashで作れるようになるかも。
Flash Objectをデザイナで配置する
Flash Objectをデザイナで配置する
「ツールボックス」パネルの「Windowsフォーム」を右クリック→「ツールボックスのカスタマイズ」→「COMコンポーネント」タブ→「Shockwave Flash Object」 (Flash.ocx)をチェック
あとは普通のコントロールと同じようにフォーム上に配置する
SWFを読み込む
SWFを読み込む
FlashObject.LoadMovie(layer, path)で読み込む。Layerが何なのか不明。
String swfPath = Directory.GetCurrentDirectory() +
Path.DirectorySeparatorChar + "embedFlash.swf";
this.flash.LoadMovie(0, swfPath);
埋め込んだFlashに値を渡す
埋め込んだFlashに値を渡す
C#側(メッセージを送る方)
C#側(メッセージを送る方)
FlashObject.SetVariable("Flash側の変数名", "値");
Flash側(メッセージを受け取る方)
Flash側(メッセージを受け取る方)
ルートに変数を置く。例:
_root.hogeData = "";
その変数が書き変わるのをwatchする。
function onHogeData(prop, oldVal, newVal, userData){
// なんか処理
}
_root.watch( "hogeData", onHogeData);
埋め込んだFlashから値を受け取る
埋め込んだFlashから値を受け取る
Flash側(メッセージを送る側)
Flash側(メッセージを送る側)
fscommandを使う。
fscommand("nanika_command", "this.nanikaText");
C#側(メッセージを受け取る側)
C#側(メッセージを受け取る側)
FlashObjectのFSCommandイベントで受け取る。コマンド名と引数が送られてくる。
.netで、デザインのウィンドウでflashのところをクリックしプロパティのFSCommandをダブルクリック。
参考リンク
参考リンク