Hatena::Groupocaml-nagoya

UX-Framework開発日誌

2009-01-09外部swfファイルを呼んでみました このエントリーを含むブックマーク

Look&Feel切り替えの為にswfファイル内のMovieClipを呼ぶ実験をしてみました。Haxe - The Cross-platform Toolkitにあるように、SwfMillを使ってリソースファイルをswfファイルに変換して、それをFlash.Lib.attachで呼び出す方針です。

resource.xml

 <?xml version="1.0" encoding="UTF-8" ?>
<movie width="128" height="64" framerate="12">
  <background color="#ffffff"/>
  <frame>
    <!-- import images to be displayed in the frames -->
    <library>
      <clip id="onState" import="resource/on.png"/>
      <clip id="offState" import="resource/off.png"/>
      <!-- create the movieclip -->
      <clip id="onOff">
	<frame name="on">
	  <place id="onState" depth="0"/>
	</frame>
	<frame name="off">
	  <place id="offState" depth="0"/>
	</frame>
      </clip>
    </library>
  </frame>
 </movie>

Switch.hx

import flash.display.Sprite;
import flash.events.MouseEvent;

class Switch extends Sprite {

	static function main()
	{
		flash.Lib.current.addChild( new Switch() );
	}

	function new ()
	{
		super();
		var theme = flash.Lib.attach( "onOff" );
		theme.gotoAndStop( "off" );
		theme.mouseEnabled = false;
		theme.mouseChildren = false;
		addEventListener( MouseEvent.MOUSE_OVER,  function(e) { theme.gotoAndStop( "on" ); } );
		addEventListener( MouseEvent.MOUSE_OUT,  function(e) { theme.gotoAndStop( "off" ); } );
		addChild( theme );
	}
}

コンパイルはこう。

$ swfmill simple resource.xml resource.swf
$ haxe -D flash-strict -swf-version 9 -swf switch.swf -swf-lib resource.swf -debug -main Switch Switch.hx

ポイントはtheme.mouseChildren = falseで、これがないと画像がマウスイベントを取ってしまいます。これだけで4時間以上は悩みました :P

ThomasThomas2012/12/07 06:29Shoot, who would have tohguht that it was that easy?

ivtyosplqivtyosplq2012/12/08 14:43WtCKk7 <a href="http://mqyntdpglqfb.com/">mqyntdpglqfb</a>

rqtsyrkcjrqtsyrkcj2012/12/09 03:07WCc30b , [url=http://roazjgggnkly.com/]roazjgggnkly[/url], [link=http://ckznwvcetkwx.com/]ckznwvcetkwx[/link], http://kpsigwqomatc.com/

idqmwevndqidqmwevndq2012/12/10 10:22YX7ePg <a href="http://socnleoxtdxh.com/">socnleoxtdxh</a>

yjoxskuyyjoxskuy2012/12/12 10:307FE4Mi , [url=http://eczvzblkacqo.com/]eczvzblkacqo[/url], [link=http://xjfcuiegqxiq.com/]xjfcuiegqxiq[/link], http://ptpwptilkrda.com/