<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>R o m a t i c A : Blog</title>
	<atom:link href="http://blog.romatica.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.romatica.com</link>
	<description>Design Flash FDT Design Interaction HeavyMetal</description>
	<lastBuildDate>Wed, 18 Jan 2012 19:50:17 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>[haXe][js] &#8220;Flasher だけど js 案件増えてきたなー&#8221; みたいな人は haXe かじってみてもいいんじゃね？</title>
		<link>http://blog.romatica.com/2012/01/19/haxe_js_flash_memo/</link>
		<comments>http://blog.romatica.com/2012/01/19/haxe_js_flash_memo/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 18:26:23 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[haXe]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[memo]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1312</guid>
		<description><![CDATA[最近ちょくちょく haXeで js を試しているのでメモ。 ※haXeは、エックス（とかヘックス）とか呼ばれてる。 そもそも haXe って？ haXe ってなに？って人のためにざっくり説明。 haXe は1言語で、Flash (AS2/AS3) 、 js 、PHP、C++、NekoVM、にかきだせる言語。（.hxファイルをコンパイラオブションで出し分ける） haXe &#8211; haXe の紹介 記述は AS3 とか JAVA に似ていて、サーバー側もクライアント側も1言語でかけるってのが、特にメリット（かな？）。 ※「1言語」ってのは「ワンソース」と同義ではないです。念のため。 特に、 haXe に興味を持った個人的理由は下記。 ・(私自身が) オブジェクト指向 (AS3 or JAVA) に慣れている。 ・ js に慣れていない。 ・ js を仕事で書くことになった。 ・ js でも AS3 みたいに継承とか書きたい。(prototype ふぁっこふ） ・ js は、コンパイルチェック（や型チェック）がないからデバッグがめんどい。 ・いつも使ってる FDT が haXe の開発に対応している。（FlashDevelopも対応しているとのこと） [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.romatica.com/wp-content/uploads/2012/01/haXe_js_flash_memo.png" alt="" title="haXe" width="700" height="264" /></p>
<p>最近ちょくちょく <strong>haXe</strong>で js を試しているのでメモ。<br />
※haXeは、エックス（とかヘックス）とか呼ばれてる。</p>
<h3>そもそも haXe って？</h3>
<p> haXe ってなに？って人のためにざっくり説明。<br />
 haXe  は<strong>1言語で、Flash (AS2/AS3) 、 js 、PHP、C++、NekoVM、にかきだせる</strong>言語。（.hxファイルをコンパイラオブションで出し分ける）<br />
<a href="http://haXe.org/doc/intro" target="_blank"> haXe  &#8211;  haXe の紹介</a></p>
<p>記述は AS3 とか JAVA に似ていて、サーバー側もクライアント側も1言語でかけるってのが、特にメリット（かな？）。<br />
※「1言語」ってのは「ワンソース」と同義ではないです。念のため。</p>
<p><strong>特に、 haXe に興味を持った個人的理由</strong>は下記。<br />
・(私自身が) オブジェクト指向 (AS3 or JAVA) に慣れている。<br />
・ js に慣れていない。<br />
・ js を仕事で書くことになった。<br />
・ js でも AS3 みたいに継承とか書きたい。(prototype ふぁっこふ）<br />
・ js は、コンパイルチェック（や型チェック）がないからデバッグがめんどい。<br />
・いつも使ってる <a href="http://fdt.powerflasher.com/docs/An_Overview_of_haXe_%26_FDT">FDT</a> が haXe の開発に対応している。（FlashDevelopも対応しているとのこと）</p>
<p>これはやってみるしかない(・∀・)</p>
<p>という感じ。</p>
<p>このご時世で<strong>「Flasherだけど js 案件増えてきたなー」みたいな人は、 haXe かじってみるのはあり？</strong>かもしれない。<br />
「すべての道はインタラクションデザインに通ず」。</p>
<h3>開発環境の準備</h3>
<p>とりあえず無料で整う。</p>
<p>Mac なら  <a href="http://fdt.powerflasher.com/buy-download/" target="_blank" >FDT5 Free</a><br />
Win でも <a href="http://fdt.powerflasher.com/buy-download/" target="_blank" >FDT5 Free</a> or <a href="http://www.flashdevelop.org/" target="_blank">FlashDevelop</a>。<br />
※ほかにもあるのかな？</p>
<p>それぞれのIDEのhaXeチュートリアルをみればいいんじゃないかな。</p>
<p>FDT での haXe js プロジェクトチュートリアル動画は下記。<br />
[1] <a href="http://everythingfla.com/courses/video/51/407" target="_blank">haXe in action, check out a sample haXe project in FDT 5</a><br />
[2] <a href="http://everythingfla.com/courses/video/51/408" target="_blank">Complex HaXe example</a></p>
<p>
ということで、<strong>以下、 js  を書きだすメモ</strong>。<br />
(とくに js に限ったものではないメモも混じっています)
</p>
<p><span id="more-1312"></span></p>
<h3>コンストラクタ</h3>
<p>.hxクラスのコンストラクタは new() 関数</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">new</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
    <span style="color: #009900; font-style: italic;">//コンストラクタ</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>上記の例外として、<strong>「メインの.hxファイル」(AS3でいうドキュメントクラス)は main()関数がコンストラクタより先に実行</strong>される。※エントリポイント</p>
<p>ex) Main.hx</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">class</span> Main <span style="color: #000000;">&#123;</span>
    <span style="color: #0033ff; font-weight: bold;">public</span> static <span style="color: #339966; font-weight: bold;">function</span> main<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
        <span style="color: #009900; font-style: italic;">//ここで自身をnewする</span>
        <span style="color: #0033ff; font-weight: bold;">new</span> Main<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #000000;">&#125;</span>
    <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">new</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
        <span style="color: #009900; font-style: italic;">//コンストラクタ</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<h3>windowのonloadイベント</h3>
<p>windowのonloadイベントを取得</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"> js <span style="color: #000066; font-weight: bold;">.</span>Lib<span style="color: #000066; font-weight: bold;">.</span>window<span style="color: #000066; font-weight: bold;">.</span>onload = onOnLoad<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #339966; font-weight: bold;">function</span> onOnLoad<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
    <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;laoded!&quot;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<h3>継承する</h3>
<p>これ簡単。普通にAS3みたいにオブジェクト指向で記述できる。<br />
これが個人的に haXe で js やる理由の1つ。</p>
<p>ex) ExtendClass.hx</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">//Exendsされるクラス</span>
<span style="color: #9900cc; font-weight: bold;">class</span> ExtendClass <span style="color: #000000;">&#123;</span>
    <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> myString<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">new</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
            myString = <span style="color: #990000;">&quot;fugafuga&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>ex) MyClass.hx</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #9900cc; font-weight: bold;">class</span> MyClass <span style="color: #0033ff; font-weight: bold;">extends</span> ExtendClass<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">name</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">;</span>
    override <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
	    <span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #004993;">name</span> = <span style="color: #990000;">&quot;hogehoge&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>ex)Main.hx</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">//〜略〜</span>
<span style="color: #6699cc; font-weight: bold;">var</span> myclass<span style="color: #000066; font-weight: bold;">:</span>MyClass = <span style="color: #0033ff; font-weight: bold;">new</span> MyClass<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;myclass.name = &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> myclass<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">name</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #009900; font-style: italic;">//hogehoge</span>
<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;myclass.myString = &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> myclass<span style="color: #000066; font-weight: bold;">.</span>myString<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #009900; font-style: italic;">//fugafuga</span></pre></div></div>

<h3>htmlのボタン要素を取得してイベントを付加する</h3>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> button<span style="color: #000066; font-weight: bold;">:</span>Button<span style="color: #000066; font-weight: bold;">;</span>
untyped<span style="color: #000000;">&#123;</span>
    button=  js<span style="color: #000066; font-weight: bold;">.</span>Lib<span style="color: #000066; font-weight: bold;">.</span>document<span style="color: #000066; font-weight: bold;">.</span>getElementById<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;button&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
    button<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">value</span>=<span style="color: #990000;">&quot;hello button&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
    button<span style="color: #000066; font-weight: bold;">.</span>onclick= <span style="color: #339966; font-weight: bold;">function</span><span style="color: #000000;">&#40;</span>evt <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
         js <span style="color: #000066; font-weight: bold;">.</span>Lib<span style="color: #000066; font-weight: bold;">.</span>alert<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;click&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<h3>タイマー処理する</h3>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #3f5fbf;">/**
 * 1000ミリ秒ごとに動作するタイマー
 * @see http://haXe.org/api/ haXe /timer
 */</span>
  <span style="color: #6699cc; font-weight: bold;">var</span> t<span style="color: #000066; font-weight: bold;">:</span> haXe <span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Timer</span>  = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Timer</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">1000</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
  t<span style="color: #000066; font-weight: bold;">.</span>run = <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;update&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<h3>タイマーキュー</h3>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"> <span style="color: #3f5fbf;">/**
　* add された関数を、指定ミリ秒間隔で１度だけ実行
　* @see http://haXe.org/api/ haXe /timerqueue
　*/</span>
<span style="color: #6699cc; font-weight: bold;">var</span> tq<span style="color: #000066; font-weight: bold;">:</span>TimerQueue = <span style="color: #0033ff; font-weight: bold;">new</span> TimerQueue<span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">2000</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
tq<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">add</span><span style="color: #000000;">&#40;</span><span style="color: #339966; font-weight: bold;">function</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;added func1&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
tq<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">add</span><span style="color: #000000;">&#40;</span><span style="color: #339966; font-weight: bold;">function</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;added func2&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
tq<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">add</span><span style="color: #000000;">&#40;</span><span style="color: #339966; font-weight: bold;">function</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;added func3&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<h3>jQueryを使う</h3>
<p>以前のエントリを参照下さい。<br />
<a href="http://blog.romatica.com/2012/01/09/haxe_jquery/">[haXe][js] haXe で jQuery を使う方法 | R o m a t i c A : Blog : Archive</a></p>
<h3>最後に</h3>
<p>間違っている所もあるかも &#038; つっこみあったら<a href="https://twitter.com/#!/itoz">@itoz</a>宛てに教えていただけるとありがたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2012/01/19/haxe_js_flash_memo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[haXe][js] haXe で jQuery を使う方法</title>
		<link>http://blog.romatica.com/2012/01/09/haxe_jquery/</link>
		<comments>http://blog.romatica.com/2012/01/09/haxe_jquery/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 01:02:48 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[haXe]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1286</guid>
		<description><![CDATA[「js の prototype なじめないんです！」 「extendsとかしたいんです！」 「静的型付けじゃないと、安心してねれないんです！(´・ω・｀)」 って病気の人いませんか？（私です） 「じゃ haXe で js やってみればいいんじゃね？」 ↓ 「でもライブラリ (jQueryとか) どうやって使うんだろ？」 。。ということで、haXe で jQuery を使う手順メモです。 ※そもそもhaXeって何？って方はこちら ※haXeの開発環境 は FDT5 を使用。 ※haXe 自体はインストール済という前提で書いていきます。 jQueryExtern を利用 jQueryExtern という、jQueryラッパーライブラリがあります。 ※いわゆる「コンパイルを通すためだけのjQuery型指定のみが記述されたライブラリ」みたいな物。 この利用方法は下記2つです。 [利用方法 1] jQueryExternForHaxe [GitHub]からダウンロード。 解凍したフォルダ内、下記2ファイルをプロジェクト ソースフォルダにコピー JQuery.hx jQuery フォルダ これでパスが通りました。 ※ソースフォルダじゃなく、任意のフォルダ（例えば”Hoge/以下”）に配置したい！という場合には、.hxml に -cp Hoge を追記するとパスが通ります。 [利用方法 2] haxelib に jQueryExtern を installします。 [...]]]></description>
			<content:encoded><![CDATA[<p>「js の <strong>prototype なじめない</strong>んです！」<br />
「<strong>extendsとかしたい</strong>んです！」<br />
「<strong>静的型付け</strong>じゃないと、安心してねれないんです！(´・ω・｀)」</p>
<p>って病気の人いませんか？（私です）</p>
<p>「じゃ<strong> haXe で js </strong>やってみればいいんじゃね？」<br />
↓<br />
「<strong>でもライブラリ (jQueryとか) どうやって使うんだろ</strong>？」</p>
<p>。。ということで、<strong>haXe で jQuery を使う手順メモ</strong>です。</p>
<p>※そもそも<a href="http://haxe.org/doc/intro" target="_blank">haXeって何？って方はこちら</a><br />
※haXeの開発環境 は <a href="http://fdt.powerflasher.com/buy-download/" target="_blank">FDT5 を使用</a>。<br />
※haXe 自体はインストール済という前提で書いていきます。</p>
<h3>jQueryExtern を利用</h3>
<p><a href="http://lib.haxe.org/p/jQueryExtern" target="_blank">jQueryExtern</a> という、jQueryラッパーライブラリがあります。<br />
※いわゆる「コンパイルを通すためだけのjQuery型指定のみが記述されたライブラリ」みたいな物。<br />
この利用方法は<strong>下記2つです。</strong></p>
<h4>[利用方法 1]</h4>
<p><a href="https://github.com/andyli/jQueryExternForHaxe" target="_blank">jQueryExternForHaxe [GitHub]</a>からダウンロード。</p>
<p>解凍したフォルダ内、下記2ファイルをプロジェクト ソースフォルダにコピー</p>
<ul>
<li>JQuery.hx</li>
<li>jQuery フォルダ</li>
</ul>
<p>これでパスが通りました。</p>
<p>※ソースフォルダじゃなく、任意のフォルダ（例えば”Hoge/以下”）に配置したい！という場合には、.hxml に <span class="path">-cp Hoge </span>を追記するとパスが通ります。</p>
<h4>[利用方法 2]</h4>
<p>haxelib に  jQueryExtern を installします。</p>
<p>ターミナルで</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ haxelib <span style="color: #c20cb9; font-weight: bold;">install</span> jQueryExtern</pre></div></div>

<p>と打つだけでインストールできます。</p>
<p>※ 下記のようなメッセージが出たら  haxelib のセットアップがまだ済んでいないので、<a href="http://haxe.org/com/haxelib/setup"  target="_blank">haxelib setup</a>を参考に、済ませたあと再度インストールしましょう。<br />
<span class="path">This is the first time you are runing haxelib. Please run haxelib setup first </span></p>
<p>次に、haxelibにインストールしたjQueryExternにパスを通します。<br />
 .hxml に <span class="path">-lib jQueryExtern</span>を追記。</p>
<h3>jQueryを動かしてみる</h3>
<p>jQueryExtern (というかhaXeのJSライブラリはすべて？) は、コンパイルを通すためにあくまで型を指定しているだけ、なので、実際のjQueryをダウンロードし、htmlからリンクして実態を用意しておきます。</p>
<p>次に .hx ファイルで</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> JQuery;</pre></div></div>

<p>とインポートすると、例えば下記のようにnew jQuery() を利用できます。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">button1 = <span style="color: #000000; font-weight: bold;">new</span> JQuery<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;#button1&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<h3>サンプル</h3>
<p><a href="http://www.romatica.com/dev/haXe_jQuery/index.html" target="_blank">動作サンプル</a></p>
<p>ソース全体としては下記。</p>
<p>index.html</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;html</span> <span style="color: #000066;">lang</span>=<span style="color: #ff0000;">&quot;en&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>TestHaxeJQuery<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;js/jquery-1.7.1.js&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;button1&quot;</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;width:150px;height:30px;background-color:#aaa;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>button1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;js/App.js&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Main.hx</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> JQuery;
<span style="color: #0066CC;">import</span> js.<span style="color: #006600;">Lib</span>;
<span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> button1:JQuery;
&nbsp;
	<span style="color: #0066CC;">static</span> <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">new</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #000000; font-weight: bold;">new</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		js.<span style="color: #006600;">Lib</span>.<span style="color: #006600;">window</span>.<span style="color: #0066CC;">onload</span> = onLoaded;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * window onloaded
	 */</span>
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> onLoaded<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:<span style="color: #0066CC;">Dynamic</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		setButton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * button setting
	 */</span>
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> setButton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span>
		button1 = <span style="color: #000000; font-weight: bold;">new</span> JQuery<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;#button1&quot;</span><span style="color: #66cc66;">&#41;</span>;
		button1.<span style="color: #006600;">cssSet</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;cursor&quot;</span>,<span style="color: #ff0000;">&quot;pointer&quot;</span><span style="color: #66cc66;">&#41;</span>;
		button1.<span style="color: #006600;">click</span><span style="color: #66cc66;">&#40;</span>onButtonClick<span style="color: #66cc66;">&#41;</span>;
		button1.<span style="color: #006600;">hover</span><span style="color: #66cc66;">&#40;</span>onButtonRollOver<span style="color: #66cc66;">&#41;</span>;
		button1.<span style="color: #006600;">mouseout</span><span style="color: #66cc66;">&#40;</span>onButtonRollOut<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * button events
 	 */</span>	
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> onButtonClick<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span>
		js.<span style="color: #006600;">Lib</span>.<span style="color: #006600;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;clicked&quot;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> onButtonRollOver<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span>
		button1.<span style="color: #006600;">cssSet</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;background-color&quot;</span>,<span style="color: #ff0000;">&quot;#ccc&quot;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> onButtonRollOut<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#123;</span>
		button1.<span style="color: #006600;">cssSet</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;background-color&quot;</span>,<span style="color: #ff0000;">&quot;#aaa&quot;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<h3>最後に</h3>
<p>それ違うよ！などツッコミありましたらぜひよろしくお願いします。</p>
<h3>参考</h3>
<p><a href="http://blog.onthewings.net/2010/08/03/using-jquery-in-haxe/">Using jQuery in haXe | Andy Li&apos;s Blog</a><br />
<a href="http://everythingfla.com/courses/video/51/407">haXe in action, check out a sample haXe project in FDT 5</a><br />
<a href="http://everythingfla.com/courses/video/51/408">Complex HaXe example</a><br />
<a href="http://www.hakkaku.net/series/%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2%e3%83%b3%e3%83%88%ef%bc%88%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%ef%bc%89%e3%82%82%e3%82%b5%e3%83%bc%e3%83%90%e3%82%82%e5%90%8c%e4%b8%80%e8%a8%80%e8%aa%9e%e3%81%a7">八角研究所 : Series: クライアント（ブラウザ）もサーバも同一言語で書ける haXe を使ってみる «</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2012/01/09/haxe_jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[memo] FDT5 で iOS ANE のDistribution 書き出しバグ？</title>
		<link>http://blog.romatica.com/2012/01/04/fdt5_ane_ios_distribution/</link>
		<comments>http://blog.romatica.com/2012/01/04/fdt5_ane_ios_distribution/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 21:57:04 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Air Native Extension]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[memo]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1281</guid>
		<description><![CDATA[なぜか、FDT5 で .aneを利用したAIR for iOSアプリを、Distribution (app-store/ad-hoc)で書き出すと、実機で動いてくれない。 ※「PropertieのFDT Mobile Propertie の iOS の Deplayタブ」 から書きだしたり、「自作のANT」で書きだしたりしてみたけど、うまくいかず。 ※プロビジョニングや証明書はちゃんとDistribution用を使用している .aneを利用しなければ動く。（xxx-app.xmlに-extdirを指定していても、as側で宣言しなければ大丈夫） これで1週間ほどはまった。(´・ω・｀) Flash Builder4.6 で書きだすと問題なく動作する。 ので、なにかFDTのバグ？なのだろうか？。 分かり次第追記予定。 だれか原因がわかる方、ぜひ@itozまで教えていただけると有りがたいです。]]></description>
			<content:encoded><![CDATA[<p>なぜか、FDT5 で .aneを利用したAIR for iOSアプリを、Distribution (app-store/ad-hoc)で書き出すと、実機で動いてくれない。<br />
※「PropertieのFDT Mobile Propertie の iOS の Deplayタブ」 から書きだしたり、「自作のANT」で書きだしたりしてみたけど、うまくいかず。<br />
※プロビジョニングや証明書はちゃんとDistribution用を使用している</p>
<p>.aneを利用しなければ動く。（xxx-app.xmlに-extdirを指定していても、as側で宣言しなければ大丈夫）<br />
これで1週間ほどはまった。(´・ω・｀)</p>
<p>Flash Builder4.6 で書きだすと問題なく動作する。<br />
ので、なにかFDTのバグ？なのだろうか？。</p>
<p>分かり次第追記予定。<br />
だれか原因がわかる方、ぜひ<a href="http://twitter.com/#!/itoz" target="_blank">@itoz</a>まで教えていただけると有りがたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2012/01/04/fdt5_ane_ios_distribution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>アクセスランキング2011 (blog.romatica.com)</title>
		<link>http://blog.romatica.com/2011/12/31/access_ranking_2011/</link>
		<comments>http://blog.romatica.com/2011/12/31/access_ranking_2011/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 18:45:31 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[misc]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[entry]]></category>
		<category><![CDATA[ranking]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1255</guid>
		<description><![CDATA[大したアクセス数も無いですが、当ブログのアクセスランキングを公開します。 2011年中は、21エントリー（月平均1.75）でした。 集計期間　2011.1.1 ~ 2011.12.31 ドメイン　blog.romatica.com 以下 No.5 「Flashの演出」に困ったらここから盗め！ PV 806（投稿日 2011.03.21） No.4 [AS3] モーダルな ErrorDialog (エラーダイアログ) クラスを作成しました。 PV 908（投稿日 2011.04.21） No.3 [AS3] 複数画像を非同期で順にロードしていくImageLoadQueue(イメージロードキュー)クラス PV 1,002（投稿日 2010.10.01） No.2 [Java][Android] Javaのトゥイーンライブラリ「Java Universal Tween Engine」を使ってみた。 PV 1,011（投稿日 2011.07.02 ） No.1 [AIR][Android] CameraUIで撮影した写真の回転が、機種によってバラバラなのをExifで補整する！ PV 1,448（投稿日 2011.04.04 ） まとめ こうやってまとめてみると、上位1位、2位とAndroid関連記事となっており、検索ワードもAndroid関連が多く、今年はAndroidの関心が高まったのかなー？、といった印象の結果になりました。 来年も引き続き、インタラクションデザイン、Flash、AIR、モバイル、Web Tecnology、関連のエントリをもう少しペースを上げて書いて行けたらなーーと思っています。（希望） ではでは良いお年を！]]></description>
			<content:encoded><![CDATA[<p>大したアクセス数も無いですが、<strong>当ブログのアクセスランキング</strong>を公開します。<br />
2011年中は、21エントリー（月平均1.75）でした。</p>
<p><i>集計期間　2011.1.1 ~ 2011.12.31<br />
ドメイン　blog.romatica.com 以下</i></p>
<p><span id="more-1255"></span></p>
<h3>No.5 <br /><a href="http://blog.romatica.com/2011/03/21/flash_motiondesign_inspiration/" target="_blank">「Flashの演出」に困ったらここから盗め！ </a></h3>
<p>PV 806（投稿日 2011.03.21）</p>
<h3>No.4 <br /><a href="http://blog.romatica.com/2011/04/21/modal_errordialog/" target="_blank">[AS3] モーダルな ErrorDialog (エラーダイアログ) クラスを作成しました。</a></h3>
<p>PV 908（投稿日 2011.04.21）</p>
<h3>No.3 <br /><a href="http://blog.romatica.com/2010/10/01/imageloadqueue/">[AS3] 複数画像を非同期で順にロードしていくImageLoadQueue(イメージロードキュー)クラス </a></h3>
<p>PV 1,002（投稿日 2010.10.01）</p>
<h3>No.2 <br /><a href="http://blog.romatica.com/2011/07/02/java_universal_tween_engine/" target="_blank">[Java][Android] Javaのトゥイーンライブラリ「Java Universal Tween Engine」を使ってみた。</a></h3>
<p>PV 1,011（投稿日  2011.07.02 ）</p>
<h3>No.1 <br /><a href="http://blog.romatica.com/2011/04/04/air-for-android-cameraui-exif/" target="_blank">[AIR][Android] CameraUIで撮影した写真の回転が、機種によってバラバラなのをExifで補整する！</a></h3>
<p>PV 1,448（投稿日  2011.04.04 ）</p>
<h3>まとめ</h3>
<p>こうやってまとめてみると、上位1位、2位とAndroid関連記事となっており、検索ワードもAndroid関連が多く、<strong>今年はAndroidの関心が高まったのかなー？、といった印象の結果</strong>になりました。</p>
<p>来年も引き続き、インタラクションデザイン、Flash、AIR、モバイル、Web Tecnology、関連のエントリをもう少しペースを上げて書いて行けたらなーーと思っています。（希望）</p>
<p>ではでは良いお年を！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2011/12/31/access_ranking_2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AIR3][ANE][iOS] ネットワーク状況の変化を通知してくれるNative Extension</title>
		<link>http://blog.romatica.com/2011/12/27/air_ane_ios_networkstatus/</link>
		<comments>http://blog.romatica.com/2011/12/27/air_ane_ios_networkstatus/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 19:22:59 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Native Extention]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Air Native Extention]]></category>
		<category><![CDATA[AIR3]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1234</guid>
		<description><![CDATA[ネットワーク状況変化（3G,Wi-Fi,未接続）をシンプルに通知してくれる、Air Native Extension (iOS用)を作ってみました。 C 側のソースコードは、下記のサイトで公開されているライブラリを利用させて頂きました。（ありがたや） Cocoaの日々: [iOS] ネットワーク接続状況取得ライブラリを公開 Download itoz/ANE_NetworkStatus &#8211; GitHubhttps://github.com/itoz/ANE_NetworkStatus ※僕自身、Obj-C経験少ないので、いいカスタマイズコードにはなっていないかもしれません、、 ※ツッコミなどあったらよろしくお願いします。 構成 NetworkStatus_iOS/ (Cライブラリ用) NetworkStatus_Lib/ (ane作成用) NetworkStatusAppiOS/ (AIRアプリ用) です。 使い方 .aファイルを作り、aneをコンパイルしたあと、AIR側でaneの設定をひと通りすませて、 _networkStatus = new NetworkStatus&#40;&#41;; _networkStatus.addEventListener&#40;StatusEvent.STATUS, onNetworkStatusEvent&#41;; &#160; function onNetworkStatusEvent&#40;event : StatusEvent&#41; : void&#123; trace&#40;event.code&#41;; //CONNECTED_NON //CONNECTED_WIFI //CONNECTED_3G &#125; 上記のようにインスタンスを作りイベントをリスナーすると、ネットワーク状況変化時に eventのcodeプロパティに、状態を表す文字列が渡ってきます。 ※.aneファイル自体の作成はANEttyを使うと便利! その他 AdobeのサイトでもiOS用 ANE のNetworkInfoクラスを公開しておりこちらを利用しても同じようなことができる（？）かと思いますが、「もっとシンプルに、3G,Wi-Fi,未接続のみの変化状況が知りたい」という時に使えると思います。 ※上記のANEだと、例えばwi-fiの場合はInterface Nameに en0 en1といった値が返ってきますので、それで判断します。（obj-Cの標準仕様かな？） [追記] [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.romatica.com/wp-content/uploads/2011/12/ios_ane_fredispatchstatuseventasync.png" alt="ios ane memo" title="ios ane memo" width="700" height="267" class="alignnone size-full wp-image-1164" /></p>
<p>ネットワーク状況変化（3G,Wi-Fi,未接続）をシンプルに通知してくれる、Air Native Extension (iOS用)を作ってみました。</p>
<p>C 側のソースコードは、下記のサイトで公開されているライブラリを利用させて頂きました。（ありがたや）<br />
<a href="http://cocoadays.blogspot.com/2011/05/ios_25.html" target="_blank">Cocoaの日々: [iOS] ネットワーク接続状況取得ライブラリを公開</a></p>
<h3>Download</h3>
<p> <a href="https://github.com/itoz/ANE_NetworkStatus" target="_blank">itoz/ANE_NetworkStatus &#8211; GitHubhttps://github.com/itoz/ANE_NetworkStatus</a></p>
<p>※僕自身、Obj-C経験少ないので、いいカスタマイズコードにはなっていないかもしれません、、<br />
※ツッコミなどあったらよろしくお願いします。</p>
<h3>構成</h3>
<p>NetworkStatus_iOS/ (Cライブラリ用)<br />
NetworkStatus_Lib/  (ane作成用)<br />
NetworkStatusAppiOS/  (AIRアプリ用)</p>
<p>です。</p>
<h3>使い方</h3>
<p>.aファイルを作り、aneをコンパイルしたあと、AIR側でaneの設定をひと通りすませて、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">_networkStatus = <span style="color: #0033ff; font-weight: bold;">new</span> NetworkStatus<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
_networkStatus<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">StatusEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">STATUS</span><span style="color: #000066; font-weight: bold;">,</span> onNetworkStatusEvent<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #339966; font-weight: bold;">function</span> onNetworkStatusEvent<span style="color: #000000;">&#40;</span>event <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">StatusEvent</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
    <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">code</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #009900; font-style: italic;">//CONNECTED_NON</span>
    <span style="color: #009900; font-style: italic;">//CONNECTED_WIFI </span>
    <span style="color: #009900; font-style: italic;">//CONNECTED_3G</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>上記のようにインスタンスを作りイベントをリスナーすると、ネットワーク状況変化時に<br />
eventのcodeプロパティに、状態を表す文字列が渡ってきます。</p>
<p>※.aneファイル自体の作成は<a href="http://melancholy.raindrop.jp/wordpress/?p=2244" target="_blank">ANEtty</a>を使うと便利!</p>
<h3>その他</h3>
<p>Adobeのサイトでも<a href="http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/networkinfo.html" target="_blank">iOS用 ANE のNetworkInfoクラス</a>を公開しておりこちらを利用しても同じようなことができる（？）かと思いますが、「もっとシンプルに、3G,Wi-Fi,未接続のみの変化状況が知りたい」という時に使えると思います。<br />
※上記のANEだと、例えばwi-fiの場合はInterface Nameに en0 en1といった値が返ってきますので、それで判断します。（obj-Cの標準仕様かな？）</p>
<p>[追記]<br />
ANE-LABにもコミットしました。<br />
<a href="http://code.google.com/p/ane-lab/">ane-lab &#8211; AIR Native Extension is Lab codes &#8211; Google Project Hosting</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2011/12/27/air_ane_ios_networkstatus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AIR3][ANE][iOS] iOSでAIR Native Extention (ハマった点メモ)</title>
		<link>http://blog.romatica.com/2011/12/13/air_ane_ios_memo/</link>
		<comments>http://blog.romatica.com/2011/12/13/air_ane_ios_memo/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 17:11:46 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Native Extention]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Air Native Extention]]></category>
		<category><![CDATA[AIR3]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[memo]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1179</guid>
		<description><![CDATA[iOS で AIR Native Extenison (以下ANE) アプリを作成するときにハマった点メモ。 正確に確認できていないので間違った情報もあるかもしれませんが、あくまで参考までに。 ※特にiOSやANEに限ったことではないものも混ざっています。 .aneを含んだAIRアプリパッケージ時のエラー アプリケーションIDの間違い？ An implementation for native extension &#8216;[クラスパス]&#8216; required by the application was not found for the target platform. ・アプリケーション記述ファイル(xxx-app.xml) に extenisionID がない場合。 ・.ane自体を生成するときに失敗している場合。(ane化するときのextensionIDが違うなど) ・AIRパッケージ時adtオプションで-extdirを指定していない。もしくは指定先のフォルダパスが間違っている場合。 extenisionIDは下記３つが同じでなければならないので、再度確認し、aneを作成してみるなど。 ・swc内のExtensionContext.createExtensionContextの第一引数に渡している文字列 ・.ane作成時のextension.xmlのidタグに指定している文字列 ・AIRパッケージ時のアプリケーション記述ファイルのextensionIDタグに指定している文字列 @Hiiragi3 が公開している ANE制作ツール 「ANEtty 」を使うと便利（もうこれがないと無理） Xcodeの問題？ ld warning: unexpected srelocation type 9 .aneに含める.aクラスをXcode 4.2 で作成した時に出る。.aをXcode 4.1でを作りなおすと問題なかった。（thx! @arkw [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.romatica.com/wp-content/uploads/2011/12/ios_ane_fredispatchstatuseventasync.png" alt="ios ane memo" title="ios ane memo" width="700" height="267" class="alignnone size-full wp-image-1164" /></p>
<p>iOS で AIR Native Extenison (以下ANE) アプリを作成するときにハマった点メモ。<br />
正確に確認できていないので<strong>間違った情報もあるかもしれませんが、あくまで参考までに</strong>。<br />
※特にiOSやANEに限ったことではないものも混ざっています。</p>
<h3>.aneを含んだAIRアプリパッケージ時のエラー</h3>
<h4>アプリケーションIDの間違い？</h4>
<p><span class="path">An implementation for native extension &#8216;[クラスパス]&#8216; required by the application was not found for the target platform.</span><br />
・アプリケーション記述ファイル(xxx-app.xml) に extenisionID がない場合。<br />
・.ane自体を生成するときに失敗している場合。(ane化するときのextensionIDが違うなど)<br />
・AIRパッケージ時adtオプションで-extdirを指定していない。もしくは指定先のフォルダパスが間違っている場合。</p>
<p><strong> extenisionIDは下記３つが同じでなければならない</strong>ので、再度確認し、aneを作成してみるなど。<br />
・swc内のExtensionContext.createExtensionContextの第一引数に渡している文字列<br />
・.ane作成時のextension.xmlのidタグに指定している文字列<br />
・AIRパッケージ時のアプリケーション記述ファイルのextensionIDタグに指定している文字列</p>
<p><a href="https://twitter.com/#!/hiiragi3" target="_blank">@Hiiragi3</a> が公開している <a href="http://melancholy.raindrop.jp/wordpress/?p=2244" target="_blank">ANE制作ツール 「ANEtty 」</a>を使うと便利（もうこれがないと無理）</p>
<h4>Xcodeの問題？</h4>
<p><span class="path">ld warning: unexpected srelocation type 9</span><br />
.aneに含める.aクラスをXcode 4.2 で作成した時に出る。<strong>.aをXcode 4.1でを作りなおすと問題なかった。</strong>（thx! <a href="https://twitter.com/#!/_a1j_" target="_blank">@arkw</a> ）</p>
<p><a href="https://developer.apple.com/downloads/index.action">過去バージョンXcodeをダウンロード出来るページ</a>（Developer登録しないと落とせない？）</p>
<h4>複数の.aneファイル指定するとエラー</h4>
<p>ネイティブの.aファイルの関数名（イニシャライザやファイナライザなど）が同じだと、エラーになる。<br />
※FlashBuilder4.6だと、事前にエラー表示をしてくれるので便利らしい。</p>
<h3>実機転送時</h3>
<h4>プロビジョニングファイルが認識されていない？</h4>
<p><span class="path">A valid provisioning profile for this executable was not found.</span><br />
XcodeのOrganizerでアプリを実機に転送できない場合に出るエラー。(これはANEに限ったことではないですが) </p>
<p>・パッケージ時に使用したプロビジョニングファイルが実機にインストールされていない（たぶん）<br />
・App Store もしくは Ad Hoc パッケージ時にdevelop版のプロビジョニングファイルを指定した（たぶん）</p>
<h4>idの不一致</h4>
<p><span class="path">The executable was signed with invalid entitlements.<br />
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.</span><br />
app-storeパッケージの時にでる。<br />
・プロビジョニングに指定したAppIDと、アプリケーション記述ファイルのidタグが一致していない。</p>
<p><span class="path">Could not install provisioning profile<br />
The profile “ほげほげ” does not include this device and cannot be installed thereon.</span><br />
distributionプロビジョニングを実機にドラッグドロップするとでる。原因よくわからない<br />
（だれか教えて（ ´д｀; )）</p>
<p><span class="path">Xcode counld not find a valid private-key / certificate pair for this profile in your keychain.</span><br />
Organizerでプロビジョニングを選択したときに、上部に出るエラー。<br />
プロビジョニングファイルをXcodeアイコンにドロップしたら消えた（よくわからず）</p>
<h3>アプリ実行時</h3>
<h4>起動しても画面がずっと真っ黒（もしくはDefault画像のまま）</h4>
<p>AIRパッケージ時に-connect オプションでデバッグ先IPアドレスを指定すると、接続先が見つからない場合、しばらく何も表示されない。</p>
<h4>起動してすぐ落ちる</h4>
<p><span class="path">Dec 12 20:29:49 unknown ReportCrash[2017] <Error>: libMobileGestalt loadBasebandMobileEquipmentInfo: CommCenter error: 1:45<br />
Dec 12 20:29:49 unknown ReportCrash[2017] <Error>: libMobileGestalt copyInternationalMobileEquipmentIdentity: Could not get mobile equipment info dictionary<br />
Dec 12 20:29:49 unknown ReportCrash[2017] <Error>: libMobileGestalt copyInternationalMobileEquipmentIdentity: Could not get mobile equipment info dictionary</span><br />
↑みたいなエラーがOrganizerのConsoleに出る。</p>
<p>ipa-test (ipa-test-intrepreter)、ipa-debug(ipa-debug-interpreter) パッケージは、swf の debugオプションtrueでコンパイルしていなければいけない。<br />
※<a href="http://help.adobe.com/ja_JP/air/build/WS901d38e593cd1bac1e63e3d128cdca935b-8000.html">Adobeのサイトにはipa-debugについてしか言及していないが</a><br />
、ipa-testでもそうだった。</p>
<h3>参考</h3>
<p><a href="http://help.adobe.com/ja_JP/air/build/WS901d38e593cd1bac35eb7b4e12cddc5fbbb-8000.html">Adobe AIR * iOS パッケージ</a></p>
<h4>ANTを使用したiOSパッケージ</h4>
<p><a href="http://www.riaspace.com/2011/03/packaging-air-application-for-ios-devices-with-adt-command-and-ant-script/">Packaging AIR application for iOS devices with ADT command and ANT script at The Space For App Developers</a></p>
<p><a href="http://www.liquid-photo.com/2011/10/28/native-extension-for-adobe-air-and-ios-101/">Native Extension for Adobe Air and IOS 101 « « Liquid-PhotoLiquid-Photo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2011/12/13/air_ane_ios_memo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AIR3][ANE][iOS] iOSでAIR Native Extention (iOSからイベントを受け取る)</title>
		<link>http://blog.romatica.com/2011/12/11/ios_ane_fredispatchstatuseventasync/</link>
		<comments>http://blog.romatica.com/2011/12/11/ios_ane_fredispatchstatuseventasync/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 22:45:28 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Native Extention]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Air Native Extention]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Objectice-C]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1161</guid>
		<description><![CDATA[AIR Native Extention (以下ANE) で ネイティブ からAIR側にイベントを送出するには FREDispatchStatusEventAsync() を実装します。 この関数は、ネイティブからas側にStatusEventを送出できる関数です。 as3 サンプル まず.aneに含めるSWCライブラリ側で、コンテキストにStatusEventをリスナーしておきます。 //〜略〜 _context = ExtensionContext.createExtensionContext&#40;&#34;[エクステンションID]&#34;, &#34;type&#34;&#41;; _context.addEventListener&#40;StatusEvent.STATUS, onStatusEvent&#41;; &#160; //〜略〜 private function onStatusEvent&#40;event:StatusEvent&#41;:void&#123; trace&#40;event.code,event.level&#41;; dispatchEvent&#40;event&#41;; &#125; Objective-C サンプル 次にC側で、イベントを送出したい部分に下記のように記述します。 FREDispatchStatusEventAsync&#40; context , &#40;uint8_t*&#41;&#91;@&#34;hogehoge&#34; UTF8String&#93;, &#40;uint8_t*&#41;&#91;@&#34;fugagufa&#34; UTF8String&#93;&#41;; &#41; 第1引数は、ContextInitializer の第三引数で受け取った context を保持しておいた物を渡します。 第2、第3引数に指定した値がそれぞれ、StatusEvent の code 、level プロパティに格納されます。 ※ContextInitializerって何？って方はAKABANAさんのブログを参照。 ANEでネイティブから送出できるイベントは、StatusEvent のみですが、上記の様に code や level がカスタマイズできるので、as側ではそのプロパティでイベントの種類を判断して振り分けるような実装にしましょう。 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.romatica.com/wp-content/uploads/2011/12/ios_ane_fredispatchstatuseventasync.png" alt="ios ane fredispatchstatuseventasync" title="ios_ane_fredispatchstatuseventasync" width="700" height="267" class="alignnone size-full wp-image-1164" /></p>
<p>AIR Native Extention (以下ANE) で ネイティブ からAIR側にイベントを送出するには <strong>FREDispatchStatusEventAsync() </strong>を実装します。<br />
この関数は、<strong>ネイティブからas側にStatusEventを送出できる関数</strong>です。</p>
<h3>as3 サンプル</h3>
<p>まず.aneに含めるSWCライブラリ側で、コンテキストにStatusEventをリスナーしておきます。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">//〜略〜    </span>
_context = ExtensionContext<span style="color: #000066; font-weight: bold;">.</span>createExtensionContext<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;[エクステンションID]&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;type&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
_context<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">StatusEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">STATUS</span><span style="color: #000066; font-weight: bold;">,</span> onStatusEvent<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//〜略〜    </span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onStatusEvent<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">StatusEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
	<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">code</span><span style="color: #000066; font-weight: bold;">,</span>event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">level</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #004993;">dispatchEvent</span><span style="color: #000000;">&#40;</span>event<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<h3>Objective-C サンプル</h3>
<p>次にC側で、イベントを送出したい部分に下記のように記述します。</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"> FREDispatchStatusEventAsync<span style="color: #002200;">&#40;</span>
    context ,
    <span style="color: #002200;">&#40;</span>uint8_t<span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;hogehoge&quot;</span> UTF8String<span style="color: #002200;">&#93;</span>, 
    <span style="color: #002200;">&#40;</span>uint8_t<span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;fugagufa&quot;</span> UTF8String<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>; 
<span style="color: #002200;">&#41;</span></pre></div></div>

<p>第1引数は、ContextInitializer の第三引数で受け取った context を保持しておいた物を渡します。<br />
<strong>第2、第3引数に指定した値がそれぞれ、StatusEvent の code 、level プロパティに格納</strong>されます。</p>
<p>※ContextInitializerって何？って方は<a href="http://akabana.info/2011/08/11/air-native-extension-6-try-develop-helloworld-ane-dll/" target="_blank">AKABANAさんのブログ</a>を参照。</p>
<p> ANEでネイティブから送出できるイベントは、StatusEvent のみですが、上記の様に <strong>code や level がカスタマイズできるので、as側ではそのプロパティでイベントの種類を判断して振り分けるような実装にしましょう。 </strong></p>
<h3>イベント送出をチェック</h3>
<p>FREDispatchStatusEventAsync() は戻り値で、イベント送出が成功したかどうか判断できます。<br />
例えば先程のコードを</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">FREResult result <span style="color: #002200;">=</span>FREDispatchStatusEventAsync<span style="color: #002200;">&#40;</span>
    context ,
    <span style="color: #002200;">&#40;</span>uint8_t<span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;hogehoge&quot;</span> UTF8String<span style="color: #002200;">&#93;</span>, 
    <span style="color: #002200;">&#40;</span>uint8_t<span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;fugagufa&quot;</span> UTF8String<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>; 
<span style="color: #002200;">&#41;</span></pre></div></div>

<p>とresultに代入しておいて</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"> <span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>result <span style="color: #002200;">==</span> FRE_OK<span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>
  <span style="color: #11740a; font-style: italic;">//イベント送出成功</span>
 <span style="color: #002200;">&#125;</span><span style="color: #a61390;">else</span><span style="color: #002200;">&#123;</span>  
 <span style="color: #11740a; font-style: italic;">//イベント送出失敗    </span>
 <span style="color: #002200;">&#125;</span></pre></div></div>

<p> など、振り分け処理を行うことが出来ます。</p>
<p>以上、「もっとこうしたほうがいいよ！」「それ違うよ！」などありましたら、コメントかtwitterでリプ頂けると有難いです。</p>
<h3>参考</h3>
<p><a href="http://help.adobe.com/ja_JP/air/extensions/WSb464b1207c184b14-62b8e11f12937b86be4-7ff5.html" target="_blank">Adobe Flash Platform * FREDispatchStatusEventAsync() </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2011/12/11/ios_ane_fredispatchstatuseventasync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[as3][js] FlashでBitmapDataをbase64エンコードしjs経由でhtmlに表示する</title>
		<link>http://blog.romatica.com/2011/11/11/as3_to_html_base64bitmap/</link>
		<comments>http://blog.romatica.com/2011/11/11/as3_to_html_base64bitmap/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 16:32:52 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[actionscript]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1149</guid>
		<description><![CDATA[flash上の任意のDisplayObjectを Bitmap化して、ByteArrayにし、base64変換し、 その文字列をExternalInterface経由でjavascriptに受け渡して、 html上に表示するサンプルを作って見ました。 [sample] flashでBitmapDataをbase64エンコードし、js経由でhtmlに表示する どんな場合に有効な手法？ 自分もいまいち使いどころがぴんと来ませんが、 jsでは生成できないようなイメージを動的にflashで作成して、htmlに渡すなど。でしょうか。 例えば、以前 jsdo.it で作成したトランスメタルジェネレータ HTML5版では、 flashでサウンドの波形画像を作成し、html上に表示しています。 Trance Metal Generator HTML5 α ver （ トランスメタルジェネレーター HTML5アルファ版） &#8211; jsdo.it &#8211; share JavaScript, HTML5 and CSS as側のサンプル 下記はDisplayObjectを渡すとpng形式のbase64文字列を返してくれるfunctionサンプルです。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [...]]]></description>
			<content:encoded><![CDATA[<p>flash上の任意のDisplayObjectを<br />
Bitmap化して、ByteArrayにし、base64変換し、<br />
その文字列をExternalInterface経由でjavascriptに受け渡して、<br />
html上に表示するサンプルを作って見ました。</p>
<p><a href="http://www.romatica.com/dev/base64image/" target="_blank">[sample] flashでBitmapDataをbase64エンコードし、js経由でhtmlに表示する</a></p>
<h3>どんな場合に有効な手法？</h3>
<p>自分もいまいち使いどころがぴんと来ませんが、<br />
jsでは生成できないようなイメージを動的にflashで作成して、htmlに渡すなど。でしょうか。</p>
<p>例えば、以前 <a href="http://jsdo.it/" target="_blank">jsdo.it</a> で作成した<a href="http://jsdo.it/itoz/n8OV" target="_blank">トランスメタルジェネレータ HTML5版</a>では、<br />
flashで<strong>サウンドの波形画像を作成し、html上に表示</strong>しています。</p>
<p><script type="text/javascript" src="http://jsdo.it/blogparts/n8OV/js?view=design"></script>
<p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://jsdo.it/itoz/n8OV" title="Trance Metal Generator HTML5 α ver （  トランスメタルジェネレーター  HTML5アルファ版）">Trance Metal Generator HTML5 α ver （  トランスメタルジェネレーター  HTML5アルファ版） &#8211; jsdo.it &#8211; share JavaScript, HTML5 and CSS</a></p>
<h3>as側のサンプル</h3>
<p>下記はDisplayObjectを渡すとpng形式のbase64文字列を返してくれるfunctionサンプルです。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">import</span> com<span style="color: #000066; font-weight: bold;">.</span>adobe<span style="color: #000066; font-weight: bold;">.</span>images<span style="color: #000066; font-weight: bold;">.</span>PNGEncoder<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">import</span> mx<span style="color: #000066; font-weight: bold;">.</span>utils<span style="color: #000066; font-weight: bold;">.</span>Base64Encoder<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #3f5fbf;">/**
* DisplayObjectをBase64文字列(png)に変換.
* @param target  画像化したいDisplayObject
* @param w 幅
* @param h 高さ
*/</span>
    <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> convertBase64<span style="color: #000000;">&#40;</span><span style="color: #004993;">target</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">DisplayObject</span><span style="color: #000066; font-weight: bold;">,</span> w <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Number</span> = <span style="color: #004993;">NaN</span><span style="color: #000066; font-weight: bold;">,</span> h <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Number</span> = <span style="color: #004993;">NaN</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">String</span>
    <span style="color: #000000;">&#123;</span>
        w = <span style="color: #000000;">&#40;</span><span style="color: #004993;">isNaN</span><span style="color: #000000;">&#40;</span>w<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">?</span> <span style="color: #004993;">target</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span> <span style="color: #000066; font-weight: bold;">:</span> w<span style="color: #000066; font-weight: bold;">;</span>
        h = <span style="color: #000000;">&#40;</span><span style="color: #004993;">isNaN</span><span style="color: #000000;">&#40;</span>h<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">?</span> <span style="color: #004993;">target</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">height</span> <span style="color: #000066; font-weight: bold;">:</span> h<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
        <span style="color: #6699cc; font-weight: bold;">var</span> bmd <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">BitmapData</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">BitmapData</span><span style="color: #000000;">&#40;</span>w<span style="color: #000066; font-weight: bold;">,</span> h<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000066; font-weight: bold;">,</span> 0x00ffffff<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        bmd<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">draw</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">target</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> base64 <span style="color: #000066; font-weight: bold;">:</span> Base64Encoder = <span style="color: #0033ff; font-weight: bold;">new</span> Base64Encoder<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        base64<span style="color: #000066; font-weight: bold;">.</span>encodeBytes<span style="color: #000000;">&#40;</span>PNGEncoder<span style="color: #000066; font-weight: bold;">.</span>encode<span style="color: #000000;">&#40;</span>bmd<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> str <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">String</span> = base64<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        bmd<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">dispose</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> str3<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> str2<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = str<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> len<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">uint</span> = str2<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">uint</span> = <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> i <span style="color: #000066; font-weight: bold;">&lt;</span> len<span style="color: #000066; font-weight: bold;">;</span> i<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #6699cc; font-weight: bold;">var</span> sub<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = str2<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">substr</span><span style="color: #000000;">&#40;</span>i<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
            <span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>sub == <span style="color: #990000;">&quot;<span style="">\n</span>&quot;</span><span style="color: #000000;">&#41;</span>
                <span style="color: #0033ff; font-weight: bold;">continue</span><span style="color: #000066; font-weight: bold;">;</span>
            str3 <span style="color: #000066; font-weight: bold;">+</span>= sub<span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #000000;">&#125;</span>
        <span style="color: #0033ff; font-weight: bold;">return</span> str3<span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>gistにも同じものをアップしています。<br />
<a href="https://gist.github.com/1292062" target="_blank">DisplayObjectをBase64文字列(png)に変換 — Gist</a></p>
<h3>js側のサンプル</h3>
<p>flash側からExternalInerfaceで下記のjsメソッドにbase64文字列を渡してあげるとhtml上に画像が表示されます。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">/*　※要jQuery　*/
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
    <span style="color: #003366; font-weight: bold;">function</span> setBase64Image<span style="color: #009900;">&#40;</span>str<span style="color: #339933;">,</span>w<span style="color: #339933;">,</span>h<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> dragItem <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;img src='data:image/png;base64,&quot;</span> <span style="color: #339933;">+</span> str <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;' width='&quot;</span><span style="color: #339933;">+</span>w<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;px' height='&quot;</span><span style="color: #339933;">+</span>h<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;px'  /&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.[任意のDIV名など]&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span>dragItem<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<h3>最後に</h3>
<p>その他、有効なユースケースがあったらぜひ<a href="https://twitter.com/#!/itoz" targe="_blank">@itoz</a>に教えて頂けると喜びます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2011/11/11/as3_to_html_base64bitmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[FDT5][ANE] FDT5 で ANE アプリをコンパイルする（サンプルソース付）</title>
		<link>http://blog.romatica.com/2011/11/01/fdt5_ane_compile/</link>
		<comments>http://blog.romatica.com/2011/11/01/fdt5_ane_compile/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 15:15:10 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Native Extention]]></category>
		<category><![CDATA[Air Native Extension]]></category>
		<category><![CDATA[AIR3]]></category>
		<category><![CDATA[FDT5]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1105</guid>
		<description><![CDATA[先日リリースされた FDT5 で モバイルアプリビルド機能 が強化され、 AIR アプリのプロパティ設定や、パブリッシュなどが、GUIで行えるようになりました。 その一部に Extentions タブがあり、 AIR Native Extenision (以下ANE) アプリをサクッとコンパイル出来るようになっています！ （この機能は FDT5 FREE でも利用可能！） 今までコマンド、 Ant などでやっていたのを考えると便利ですね！ ANEアプリコンパイル設定 ということで Android のバッテリー値を取得＆表示する ANE アプリを作成する手順を書いてみます。 [1]. ANE ファイルを用意。 ここに素敵なANEサンプルが多数公開されています。 http://extensionsforair.com/extensions/powerflasher-collection/ 今回はこの中の「battery」を使わさせて頂きました。 [2]. Mobile Project を作成 File &#62; New &#62; New FDT Project &#62; Mobile &#62; AS3 でプロジェクト作成し 「aneフォルダ」を作成。（任意の名前でもOK） [3]. ANEファイル、ライブラリの設置 [1]でDownloadしたbatteryフォルダ内の.aneファイルと.swfファイルをプロジェクトにコピー。 battery/extension/de.patrickkulling.air.mobile.extensions.battery.ane [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.romatica.com/wp-content/uploads/2011/10/fdt5_ane_0.png" alt="" title="fdt5_ane" width="700" height="267" class="alignnone size-full wp-image-1115" /></p>
<p>先日リリースされた <a href="http://fdt.powerflasher.com/" target="_blank">FDT5</a> で <a href="http://fdt.powerflasher.com/docs/Building_Mobile_Applications_With_FDT" target="_blank">モバイルアプリビルド機能 が強化</a>され、<br />
AIR アプリのプロパティ設定や、パブリッシュなどが、<strong>GUIで行えるようになりました。</strong></p>
<p>その一部に Extentions タブがあり、<br />
<strong>AIR Native Extenision (以下ANE) アプリをサクッとコンパイル出来るようになっています！</strong><br />
（この機能は <a href="http://fdt.powerflasher.com/buy-download/" target="_blank">FDT5 FREE でも利用可能！</a>）</p>
<p>今までコマンド、 Ant などでやっていたのを考えると便利ですね！</p>
<h3>ANEアプリコンパイル設定</h3>
<p>ということで Android の<strong>バッテリー値を取得＆表示する ANE アプリを作成する手順</strong>を書いてみます。</p>
<h4>[1]. ANE ファイルを用意。</h4>
<p>ここに素敵なANEサンプルが多数公開されています。<br />
<a href="http://extensionsforair.com/extensions/powerflasher-collection/" target="_blank">http://extensionsforair.com/extensions/powerflasher-collection/</a></p>
<p>今回はこの中の「battery」を使わさせて頂きました。</p>
<h4>[2]. Mobile Project を作成</h4>
<p>File &gt; New &gt; New FDT Project &gt; Mobile &gt; AS3 でプロジェクト作成し<br />
「aneフォルダ」を作成。（任意の名前でもOK）</p>
<h4>[3].  ANEファイル、ライブラリの設置</h4>
<p>[1]でDownloadしたbatteryフォルダ内の.aneファイルと.swfファイルをプロジェクトにコピー。</p>
<p><img src="http://blog.romatica.com/wp-content/uploads/2011/10/fdt5_ane_1.png" alt="" title="copy to ane folder and lib folder" width="369" height="233" class="alignnone size-full wp-image-1116" /></p>
<p>battery/extension/de.patrickkulling.air.mobile.extensions.battery.ane<br />
＞「ane」フォルダへコピー</p>
<p>battery/extension/android_battery_extension.swc<br />
＞「lib」フォルダへコピー<br />
※これでExtensionのクラスにパスが通せるようになります</p>
<h4>[4]. Extensions の設定</h4>
<p>プロジェクトフォルダ右クリック ＞ Properties を選択すると下記のウィンドウが出てきます。<br />
<img src="http://blog.romatica.com/wp-content/uploads/2011/11/fdt5_ane_2.png" alt="" title="fdt5 extension tab" width="700" height="381" class="alignnone size-full wp-image-1134" /></p>
<p>FDT Mobile Properties ＞ Android &gt; Extensionsを選択。</p>
<p>「Extensions location」に「aneフォルダ」を選択。<br />
「Extensions」に、battery/extension/descriptor_extensions.xml に記述されている「extensionID」 を追加。<br />
※これでアプリケーション記述ファイルに自動的に extensionID が追記されます。</p>
<p>ANEの設定はここまで。<br />
もうちょっとです。</p>
<h3>AIR3.0コンパイル設定</h3>
<p>ここからはAIR3.0でコンパイルするためのお決まり設定です。</p>
<h4>[5]. コンパイル時定数を追加</h4>
<p>「Run / Debug Configurations」を作成し、<br />
Compiler Arguments タブの Use launcher specific compiler arguments を選択。<br />
「<strong>-swf-version=13</strong>」を追記。</p>
<p><img src="http://blog.romatica.com/wp-content/uploads/2011/10/fdt5_ane_3.png" alt="" title="fdt5 mobile properties Extensions" width="587" height="325" class="alignnone size-full wp-image-1117" /></p>
<h4>[6]. アプリケーション記述ファイルの修正</h4>
<p><img src="http://blog.romatica.com/wp-content/uploads/2011/10/fdt5_ane_4.png" alt="" title="air3 xml" width="507" height="84" class="alignnone size-full wp-image-1119" /><br />
bin/xxxxxx-app.xmlの冒頭を<br />
「&lt;application xmlns=&#8221;http://ns.adobe.com/air/application/<strong>3.0</strong>&#8220;&gt;」に変更。</p>
<p>設定は以上！</p>
<h3>ANEを呼び出すドキュメントクラス</h3>
<p>上記設定から、バッテリー値を取得＆表示するサンプルドキュメントクラスです。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> jp<span style="color: #000066; font-weight: bold;">.</span>itoz<span style="color: #000066; font-weight: bold;">.</span>ane<span style="color: #000066; font-weight: bold;">.</span>android<span style="color: #000066; font-weight: bold;">.</span>battery <span style="color: #000000;">&#123;</span>
    <span style="color: #0033ff; font-weight: bold;">import</span> de<span style="color: #000066; font-weight: bold;">.</span>patrickkulling<span style="color: #000066; font-weight: bold;">.</span>air<span style="color: #000066; font-weight: bold;">.</span>mobile<span style="color: #000066; font-weight: bold;">.</span>extensions<span style="color: #000066; font-weight: bold;">.</span>battery<span style="color: #000066; font-weight: bold;">.</span>Battery<span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #0033ff; font-weight: bold;">import</span> de<span style="color: #000066; font-weight: bold;">.</span>patrickkulling<span style="color: #000066; font-weight: bold;">.</span>air<span style="color: #000066; font-weight: bold;">.</span>mobile<span style="color: #000066; font-weight: bold;">.</span>extensions<span style="color: #000066; font-weight: bold;">.</span>battery<span style="color: #000066; font-weight: bold;">.</span>event<span style="color: #000066; font-weight: bold;">.</span>BatteryEvent<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
    <span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Sprite</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.text</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">TextField</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.text</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">TextFieldAutoSize</span><span style="color: #000066; font-weight: bold;">;</span>
    <span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.text</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">TextFormat</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
    <span style="color: #3f5fbf;">/**
     * ANE Android Battery Sample
     * @see http://extensionsforair.com/extensions/powerflasher-collection/
     */</span>
    <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> ANEBatteryApp <span style="color: #0033ff; font-weight: bold;">extends</span> <span style="color: #004993;">Sprite</span> <span style="color: #000000;">&#123;</span>
        <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _tf <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">TextField</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _bat <span style="color: #000066; font-weight: bold;">:</span> Battery<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
        <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> ANEBatteryApp<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
            <span style="color: #009900; font-style: italic;">// ----------------------------------</span>
            <span style="color: #009900; font-style: italic;">// battery</span>
            <span style="color: #009900; font-style: italic;">// ----------------------------------</span>
            _bat = <span style="color: #0033ff; font-weight: bold;">new</span> Battery<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
            _bat<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>BatteryEvent<span style="color: #000066; font-weight: bold;">.</span>UPDATE<span style="color: #000066; font-weight: bold;">,</span> onBatteryUpdate<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
            <span style="color: #009900; font-style: italic;">// ----------------------------------</span>
            <span style="color: #009900; font-style: italic;">// textfield</span>
            <span style="color: #009900; font-style: italic;">// ----------------------------------</span>
            _tf = <span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">TextField</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">TextField</span><span style="color: #000066; font-weight: bold;">;</span>
            _tf<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">defaultTextFormat</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">TextFormat</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">null</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">20</span><span style="color: #000066; font-weight: bold;">,</span> 0xcc0000<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
            _tf<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">autoSize</span> = <span style="color: #004993;">TextFieldAutoSize</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">LEFT</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #3f5fbf;">/**
         * バッテリーイベント
         */</span>
        <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onBatteryUpdate<span style="color: #000000;">&#40;</span>event <span style="color: #000066; font-weight: bold;">:</span> BatteryEvent<span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
            <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">d</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Date</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Date</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
            <span style="color: #6699cc; font-weight: bold;">var</span> stamp <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">String</span> = <span style="color: #004993;">d</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getHours</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;:&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #004993;">d</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getMinutes</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;:&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #004993;">d</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getSeconds</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
            <span style="color: #009900; font-style: italic;">// @see http://www.adakoda.com/android/000140.html</span>
&nbsp;
            _tf<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> = <span style="color: #990000;">&quot;update &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> stamp <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;<span style="">\n</span>&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
            _tf<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> <span style="color: #000066; font-weight: bold;">+</span>= <span style="color: #990000;">&quot;バッテリー残量 &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">level</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;<span style="">\n</span>&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
            _tf<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> <span style="color: #000066; font-weight: bold;">+</span>= <span style="color: #990000;">&quot;バッテリー最大値 &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">scale</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;<span style="">\n</span>&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
            _tf<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> <span style="color: #000066; font-weight: bold;">+</span>= <span style="color: #990000;">&quot;バッテリー温度 &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">.</span>temperature <span style="color: #000066; font-weight: bold;">/</span> <span style="color: #000000; font-weight:bold;">10</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;度<span style="">\n</span>&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
            _tf<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> <span style="color: #000066; font-weight: bold;">+</span>= <span style="color: #990000;">&quot;バッテリー電圧 &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> event<span style="color: #000066; font-weight: bold;">.</span>voltage <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot;mV<span style="">\n</span>&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>あとは コンパイルするだけ！</p>
<p>これでバッテリー値が取得できるサンプルANEアプリが完成しました。</p>
<div class="download"><a href="http://www.itoz.jp/lab/ane/android/ANEBatteryApp.zip" target="_blank"></a></div>
<p>今回のサンプル一式をアップしました。<br />
FDT5 の File > import から Archive File で読み込んでください。</p>
<h3>その他</h3>
<p><a href="http://fdt.powerflasher.com/buy-download/" target="_blank">FDT5 FREE のダウンロードはこちら</a>から<br />
（今回紹介した機能はFREEでも利用可）</p>
<p>FDT5 MAX だと、アプリケーション記述ファイルの設定もGUIから行えます。<br />
（AppricationID や Permission、Aspect Ratio など）</p>
<p>その他 FTD5 から追加された機能はこちら<br />
<a href="http://www.fdt.jp/?p=461" target="_blank">fdt.jp » FDT5がリリース。新機能一覧</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2011/11/01/fdt5_ane_compile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[memo][AIR3] デスクトップ用のAIR Captive Runtime を コンパイルする</title>
		<link>http://blog.romatica.com/2011/10/06/desktop_captive_runtime_ant/</link>
		<comments>http://blog.romatica.com/2011/10/06/desktop_captive_runtime_ant/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 12:45:12 +0000</pubDate>
		<dc:creator>itoz</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AIR3]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Captive Runtime]]></category>

		<guid isPermaLink="false">http://blog.romatica.com/?p=1100</guid>
		<description><![CDATA[自分用メモ。 デスクトップ用のAIR Captive Runtime を コンパイルするAnt ※mac -target bundleがポイント macだと58Mのappが出来る。（容量でかっ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 &#60;project name=&#34;build desktop captive runtime&#34; default=&#34;build&#34;&#62; &#160; &#60;property name=&#34;adt&#34; value=&#34;[adtのパス]&#34; /&#62; &#60;property name=&#34;cirtificate&#34; value=&#34;[さーてぃふぃけいとパス]&#34; /&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>自分用メモ。<br />
デスクトップ用のAIR Captive Runtime を コンパイルするAnt<br />
※mac</p>
<p>-target bundleがポイント<br />
macだと58Mのappが出来る。（容量でかっ</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;build desktop captive runtime&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;build&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;adt&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;[adtのパス]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;cirtificate&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;[さーてぃふぃけいとパス]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;cirtificate.pass&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;[ぱすわーど]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;build&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;java</span> <span style="color: #000066;">jar</span>=<span style="color: #ff0000;">&quot;${adt}&quot;</span> <span style="color: #000066;">fork</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;-package&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;-storetype&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;pkcs12&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;-keystore&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${cirtificate}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;-storepass&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${cirtificate.pass}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;-target&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;bundle&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;./deploy&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;./bin/Index-app.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;-C&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;./bin&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Index.swf&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/java<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/project<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>参考<br />
<a href="http://help.adobe.com/ja_JP/air/build/WSfffb011ac560372f709e16db131e43659b9-8000.html" target="_blank">Adobe AIR * デスクトップコンピューター用のキャプティブランタイムバンドルのパッケージ化 </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.romatica.com/2011/10/06/desktop_captive_runtime_ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/


Served from: blog.romatica.com @ 2012-02-06 19:40:23 -->
