Archive

For the AS3 category

2013年 あけましておめでとうございます

No Comments

皆さん、2013年になりました。
あけましておめでとうございます。

今年は巳年です。
僕は巳年生まれなので年男ですね。
もう今年で24とは・・・心はまだ18歳なんですけど。

毎年1年間を振り返ると、何も成長してねえなーと思っちゃいますね。
まぁ何したか覚えてないだけですけど。

よーーく思い出してみると色々してますね。
インターンシップにいったり
Objective-C勉強してiPadアプリ作ったり
Pythonやってみたり、Perlやってみたり
あ、大学を卒業して大学院生になりましたね。
同じ大学なのであまり変わった感じはしないけど。

やっぱりそろそろhtml,css,jsを勉強しないとダメですね。
今年の目標はこれにしようかな。

あ、今年は就活しないといけません。誰か会社にいれry

2012年は尊敬できるFlasherの方や、素敵な先輩と出会えて良い年でした。
本当に人脈に恵まれてると思います。

まぁ何も考えずにぐだぐだ書いてみたけど特に意味はなく、
一番言いたいのは久しぶりにFlash書いたよってことですw
新年なのであけおめFlashです。

Happy 2013 – wonderfl build flash online

最近miimっていう、なんか作りたい学生のためのグループをやっておりまして。
その中で、みんなで集まって各々で蛇のロゴとかデザインとか1時間くらいで書いてみようっていう企画をやりました。
第一回 ロゴづくり in ハングアウト
この中で考えた案を、せっかくなので具体的にコードに書き起こしました。

やっぱりFlashが一番楽しいですね。
今年はAS4の情報が出てきそうなので楽しみです。誰だオワコンとか言った奴は。
オワコンだろうがなんだろうが好きな言語は好きなんですよ。
まぁ他の言語もやるけどね!

皆さん、今年もどうぞよろしくお願いします。

<追記>
ソースをgithubにアップしました
ton1517/Happy2013 · GitHub https://github.com/ton1517/Happy2013

ActionScriptCompiler2.0について発表してきたよ

1 Comment

FxUG 第172回 勉強会@名古屋でActionScriptCompiler2.0について発表してきました。

僕のスライドはこっから見れるよ
http://ton1517.github.com/FxUGNagoya172-slide/

今回の勉強会はいろいろな事情で日程がズレにズレまくって参加者がまさかの6人!でしたw
そのうち4人が発表者w
そのおかげで発表中にバンバンツッコミ入れたり質問したりとかなり濃い勉強会ができました。
大人数でやるとただ発表を眺めてるだけになっちゃうので、少人数の勉強会は本当に勉強会!って感じでよかったです。

勉強会とは関係ないですが、今回のスライドはmarkdownで書いて、markdown2impressというツールを使ってスライドに変換しました。
変換してできたhtmlをgithub pagesの機能を使ってgithub上で公開しています。
こうすればmarkdownで資料を作れて、変換してpushするだけでスライドを更新できて楽でした。

ソースは自分のgithuhに公開しています。
ton1517/FxUGNagoya172-slide

AS3のインライン展開機能まとめ

No Comments

ちょっと前にFlash Builder 4.7 betaが公開されましたが、このFB4.7には次世代コンパイラであるActionScriptCompiler 2.0 (ASC2.0)が組み込まれています。

ASC2.0は高速化であったり、より仕様に厳格なコンパイルをするようになったり、色々な変更点があるのですが、今回はASC2.0からの新機能であるインライン展開機能についてまとめていきます。

※この記事はFlash Builder 4.7 beta時のものです。正式版では異なる動作をする場合があります。

10/15 追記

FxUG名古屋勉強会でASC2.0について発表しました
本記事はASC2.0 Preview1時点の情報ですが,スライドではPreview3時点の情報をまとめています
こちらのほうが情報が新しいので参考にしてください
http://ton-up.net/blog/archives/1176

Continue reading this entry »

プログラムを任意の秒数止めるWorkerのサンプル作った

1 Comment

はいタイトルの通りです
Workerを使って、任意のコード中で任意の秒数だけプログラムをストップさせることができます
Java分かる人は、Thread.sleep()と同じです

Workerで何できるかなーって考えてたら唐突に思いついた
Workerは非同期処理のためのものだけど、実は同期処理できるんです

プロジェクト一式ははgitにあげました
Flash Builder 4.7 でインポートしてください
ton1517/Waiter · GitHub

クラスは3つしかありません

  • テスト用のドキュメントクラス WaitTest.as
  • Workerを意識せずに使用できるようにラップした Waiter.as
  • Workerとして動かす WaitWorker.as

何をしてるか見て行きましょう

Continue reading this entry »

wonderflがFlashPlayer11に対応!

No Comments

ようやくwonderflがFP11に対応した!
これでFP11の新機能がいっぱい試せるね!

ってことで、2つですが、FP11の新機能を試してみたのでサンプルをwonderflにあげときました

removeChildren()

まず一つ目はremoveChildren()メソッド
子を全てremoveChildしてくれます

引数をとることもできます

removeChildren(0, 10);

とすると、0番目から10番目までの子をremoveChildしてくれます

クリックするとremoveChildren()が実行されます

FP11の新機能 removeChildren() – wonderfl build flash online

pauseForGCIfCollectionImminent

2つ目はpauseForGCIfCollectionImminent()メソッド
このメソッドは引数に閾値を与えて実行することで、GCを発動させることができます
値は0から1の範囲でデフォルトは0.75です
0に近いほどGCが発動しやすく、1に近いほど発動しにくくなります

右クリックしてShow Profilerを選ぶとわかりやすいプロファイラーがでてきます
スライダーを動かして0に近い値にしてボタンをクリックするとGCが発動してるのが分かると思います

FP11の新機能 pauseForGCIfCollectionImminent() – wonderfl build flash online

とりあえず2つだけ上げましたが他にもいろんな機能があるのでそのうちだれかがあげてくれるでしょうw
FP11の機能を使った作品はFlashPlayer11というタグにまとめられてます
きっとそのうちすごい人がStage3Dをつかったすごい作品をあげてくれたりすると思います!w
みんなもどんどん作品あげてってね!

FlashDevelop4 RC1 & AIR3 でAIR for iOSを試してみた

4 Comments

2011年10月4日、ついにFlash Player 11 と AIR 3 が出ましたね
FP11最大の目玉である3D機能とそのGPUレンダリング、その他にも地味に嬉しい新機能がいっぱいです
新機能の詳細は以下のリリースノートを御覧ください
Flash Player 11 および AIR 3 リリースノート

また少し前にFlashDevelop4のRC1がリリースされました
馬鹿全 – FlashDevelop4.0.0 RC1 リリース

このバージョンからAIR モバイルプロジェクトのテンプレートが追加されました
このプロジェクトを選択すると、AndroidとiOS向けのAIRを作成することができます
できればAndroidも試してみたかったのですが持ってないので、今回はAIR for iOSに絞って手順を紹介していきます

この記事で試した環境はWindows7 + Flex 4.5.1 SDK + AIR 3.0 SDK + FlashDevelop4.0.0RC1 + iPhone4 iOS 4.3.5 です

この記事を実際に試すには、有料のApple iOS Developer Program に登録する必要があります

こちらの記事も参考にするといいかもしれません
AIR2.7でAIR for iOSを試してみた

ちょっと長いので覚悟してくださいw

Continue reading this entry »

AS3 キーボードイベント拡張ライブラリKeyinsを公開しました

No Comments

PCを整理してたら2年前に作ったライブラリが出てきたw
この手のライブラリは皆さん俺俺ライブラリとして作っていることと思いますが、せっかくなので公開します。
MIT Licenseです。

Keyinsとは

キーボードイベントを拡張したライブラリです。
簡単に使えるよう、できるだけシンプルに設計しました。

通常キーボードイベントはKEY_DOWNとKEY_UPだけですが、
KEY_DOWN_FIRST、KEY_DOWN_FIRST_<KEY>、KEY_DOWN_<KEY>、KEY_UP_<KEY>
のイベントが追加されています。
キーを押したままFlashが非アクティブになると、KEY_UPイベントが送出されます。
また、isKeyDown(keycode:uint)メソッドを使用して特定のキーが押されているか調べることができます。
staticメソッドしか使用しないため、どこからでもキーの状態を知ることがができます。

ちなみにKey Inspectorの略です。名前が長いと使うのがしんどくなるので短くしましたw

KEY_DOWN_FIRST

KEY_DOWNイベントはキーが押されている間、常に送出されるイベントですが、
KEY_DOWN_FIRSTはキーが押された時に一回のみ送出されるイベントです。

KEY_DOWN_FIRST_<KEY>

KEY_DOWN_FIRST_は特定のキーが押されたときに一回のみ送出されるイベントです。
例えばKEY_DOWN_FIRST_Aイベントを登録するとAキーが押されたときに一回のみメソッドが実行されます。

KEY_DOWN__<KEY>

KEY_DOWN_は特定のキーが押されたときに送出されるイベントです。
例えばKEY_DOWN_Aイベントを登録するとAキーが押されたときにメソッドが実行されます。

KEY_UP_<KEY>

KEY_UP_は特定のキーが離されたときに送出されるイベントです。
例えばKEY_UP_Aイベントを登録するとAキーが離されたときにメソッドが実行されます。

isKeyDown(keycode:uint)

isKeyDown(Key.A) とすると、Aキーが押されている場合はtrueを返します。
ENTER_FRAMEハンドラーの中でキーが押されているか調べたい場合などに便利です。

Continue reading this entry »

「あ」のうた を作ってみた

No Comments

デザインあ

みなさん デザインあって知ってますか?
NHK教育の番組なんですが、中村勇吾さんが映像監修をされているそうです
色々なデザインを色々な角度から、美しい映像と音楽でみせてくれる素晴らしい番組です

このデザインあのサイトの中に、 「あ」のうたという特設サイトがあるのですが、僕はこれがすごい好きですw

作ってみた

そこで、自分でも作れないかなーと思って 「あ」のうた を真似して作ってみました

「あ」のうた – ah song – – wonderfl build flash online

オリジナルのクオリティが高すぎて挫折しそうになりましたが、なんとか見れるところまで作れました
中途半端な真似っぷりですいません、力尽きました・・・w

曲も真似して作ってみようと思ったんですが、音関係はさっぱりの初心者なので諦めました・・・
代わりにマイクや好きな曲を流せるようにしました
「あ」のうたなのに全然違うものを流しちゃって台無しな感じがしますが許してください><

AIR2.7でAIR for iOSを試してみた

2 Comments

ちょっとAIR for iOSを試す機会があったので、どうせならと思いAIR 2.7で試してみました
AIR2.7の情報はここらへんが参考になります
Adobe AIR 2.7 開発者向けリリースノート
Adobe AIR 2.7 公開 – akihiro kamijo

試した環境はWindows7 + Flex 4.5 SDK + AIR 2.7 SDK + iPhone4 iOS 4.3.3 でテストしました

この記事を実際に試すには、有料のApple iOS Developer Program に登録する必要があります

目次
1.Flex 4.5 SDKをダウンロード
2.AIR 2.7 SDKをダウンロード
3.PATHの設定
4.swfを用意する
5.開発用証明書とプロビジョニングプロファイルの用意
6.アプリケーション記述ファイルの用意
7.パッケージ化する
8.iPhoneで動かしてデバッグする方法
9.実機で動かしている様子
10.感想
11.参考にしたサイト

Flex 4.5 SDKをダウンロード

まずFlex4.5 SDKを落としてきます
Download Flex 4.5 – Flex SDK – Adobe Open Source
ここからAdobe Flex SDKをダウンロードします
2011年6月19日現在のバージョンは4.5.0.20967です

落としてきたら解凍してわかりやすい場所に配置します
俺はフォルダをflex_sdk_4.5に変えて C:flex_sdk_4.5 に配置してます

AIR 2.7 SDKをダウンロード

次にAIR 2.7 SDKを落としてきます
まだ日本語サイトは2.6のままだったので、英語サイトからダウンロード
rich Internet applications | Adobe AIR SDK

解凍して、AdobeAIRSDKフォルダの中身をまるごとflex_sdk_4.5のフォルダの中に突っ込みます
Flex SDKとAIR SDKがごっちゃになりますがこれで大丈夫です

PATHの設定

コマンドラインからいじるので、AIR SDKのコマンドを認識させるためにPATHの設定をします
先ほどのflex_sdk_4.5のbinフォルダまでのパスを環境変数に追加します

Windows7の場合
Winキーを押して「システムの詳細設定」と打ちEnterを押すとシステムのプロパティが開きます
または、マイコンピュータを右クリック→プロパティ→システムの詳細設定をクリック でも開きます

次に「詳細設定」タブから「環境変数」をクリック
下半分の「システム環境変数」の中から「Path」と書いてある変数を選んで編集
末尾に「;C:flex_sdk_4.5bin」を追加してOK
※Flex SDKのフォルダ名は自分で変えた名前に適宜変更してください

ちゃんとPATHの設定ができてるか確認
コマンドプロンプトを開きます
※Winキー+Rを押すと「ファイル名を指定して実行」の窓が出てくるので、「cmd」と打ってEnterでコマンドプロンプトが開く

mxmlc -version と打ってバージョン情報が出ればFlex SDKの設定はおk
また
adt -version と打ってちゃんとバージョン情報が出たらAIR SDKの設定もおk

こんな感じ
コマンドプロンプトでバージョン確認

swfを用意する

メインコンテンツのFlashを用意します

ステージのサイズはフルスクリーンの場合
3GS以前 320 x 480
iPhone 4 640 x 960
で作れば大丈夫です
ステータスバーを表示させる前提で作るときは、縦を20ピクセル減らして作ればおk

開発用証明書とプロビジョニングプロファイルの用意

用意したFlashをiOSのネイティブコードに変換するには、開発用証明書とプロビジョニングプロファイルというものを用意する必要があります
また、これを用意するためには有料のApple iOS Developer Program に登録する必要があります
ここは省略しますが、わからない人は以下のヘルプを参考にしてください
Adobe Flash Platform * iPhone 開発ファイルの入手と操作

※Developer Program登録から開発ファイルの入手までの方が大変だったりしますが・・・w

アプリケーション記述ファイルの用意

アプリケーションの設定を記述した、アプリケーション記述ファイルというxmlを用意する必要があります
Flash CS5/5.5なら自動的に吐いてくれるのですが、コマンドラインからやる場合は自分で書く必要があります

アプリケーション記述ファイルの全体的な内容は以下を参考にしてください
Adobe AIR * AIR アプリケーション記述ファイル
Adobe AIR * アプリケーション記述ファイルの構造

iPhone固有の設定は以下を参考にしてください
Adobe AIR * モバイルアプリケーションプロパティの設定

注意点として
versionプロパティはAIR2.5以降からversionNumberに変更になったので流用する場合は注意が必要です

idプロパティは、AppleサイトのiOS Provisioning Portal のApp IDsで発行したApp IDと一致していなければなりません
テストする場合は、net.ton-up.* のようにワイルドカードを指定しておくと便利です

iPhone4のRetinaディスプレイに対応する場合は、iPhoneタグの中に

<requestedDisplayResolution>high</requestedDisplayResolution>

を追加する必要があります

アイコンはなくても大丈夫ですが、iPhone4のために114×114の画像を1つ用意しました

例 – Warp-app.xml

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/2.7" minimumPatchLevel="0">

  <id>net.ton-up.warp</id>

  <versionNumber>1.0.0</versionNumber>

  <filename>Warp</filename>

  <description/>

  <name>Warp</name>

   <supportedProfiles>mobileDevice</supportedProfiles> 

  <copyright/>

  <initialWindow>
    <content>Warp.swf</content>
    <systemChrome>standard</systemChrome>
    <transparent>false</transparent>
    <visible>true</visible>
    <fullScreen>true</fullScreen>
    <aspectRatio>portrait</aspectRatio>
    <renderMode>auto</renderMode>
    <autoOrients>true</autoOrients>
  </initialWindow>

  <icon>
  	<image114x114>icon/icon114.png</image114x114> 
  </icon>

  <customUpdateUI>false</customUpdateUI>

  <allowBrowserInvocation>false</allowBrowserInvocation>

  <iPhone>
    <InfoAdditions>
      <!&#91;CDATA&#91;<key>UIDeviceFamily</key><array><string>1</string></array>&#93;&#93;>
      </InfoAdditions>
      <requestedDisplayResolution>high</requestedDisplayResolution>
  </iPhone>
</application>

パッケージ化する

これでようやくパッケージ化の準備ができました
コマンドラインで、swfファイルなどが置いてある場所に移動して、以下のコマンドを入力します
実際には1行で全て入力する必要があります

adt -package 
     -target  
     -storetype pkcs12 -keystore <*.p12>
     -storepass < password>
    -provisioning-profile <*.mobileprofile> 
    <*.ipa> 
    <*-app.xml> 
    <*.swf>
    < icon>
    < files>
    ...

C:Userston>adt -package -target ipa-test -storetype pkcs12
    -keystore private_key.p12 -storepass hogehoge
    -provisioning-profile Test.mobileprovision
     Warp.ipa Warp-app.xml Warp.swf icon/

-storepassオプションは証明書のパスワードを入力します
コマンドラインだと履歴が残っていやだって人は-storepassオプションを付けずに実行すれば毎回パスワードを聞かれるようになります

-targetオプションで指定できるタイプは次のようなものがあります

  • ipa-ad-hoc:アドホック配布用の iOS パッケージです。
  • ipa-app-store:Apple App Store 配布用の iOS パッケージです。
  • ipa-debug:追加のデバッグ情報を含む iOS パッケージです(アプリケーション内の SWF ファイルも、デバッグサポートを使用してコンパイルする必要があります)。
  • ipa-test:最適化やデバッグ情報を含まずにコンパイルされた iOS パッケージです。
  • ipa-debug-interpreter:機能的にはデバッグパッケージと同等ですが、コンパイル時間が短くなります。ただし、ActionScript バイトコードが解釈され、マシンコードには変換されません。そのため、インタープリターパッケージではコードの実行が遅くなります。
  • ipa-test-interpreter:機能的にはテストパッケージと同等ですが、コンパイル時間が短くなります。ただし、ActionScript バイトコードが解釈され、マシンコードには変換されません。そのため、インタープリターパッケージではコードの実行が遅くなります。

無事成功したらipaファイルができてます
これをダブルクリックまたはiTunesにドラッグ&ドロップで追加して、iPhoneと同期することでiPhoneで実行することができるようになります

iPhoneで動かしてデバッグする方法

実機で動かしながらデバッグしたいんだけど・・・っていう時のために、Flashデバッガー(fdb)でリモートデバッグできるようになってます
fdbは、breakポイントを設定したり、traceログやエラーメッセージをリアルタイムで表示することができます

まずFlashをデバッグビルドします
そんで、パッケージ化する際に、

-target ipa-debug

を指定し

-connect < IPアドレス >

でデバッグするホストPCのIPアドレスを入力します

IPアドレスにローカルIPアドレスを指定する場合は、iPhoneも同じLAN内の無線LANに繋がっている必要があります

C:Userston>adt -package -target ipa-debug -connect 192.168.0.2
     -storetype pkcs12 -keystore private_key.p12 -storepass hogehoge
    -provisioning-profile Test.mobileprovision
     Warp.ipa Warp-app.xml Warp.swf icon/

まずコマンドラインで

fdb

と打ってfdbが起動したら

run

と打ち、待機します

その後、iPhoneに移動させたアプリを起動すると自動的に接続されます

接続されると、breakポイントを設定できるのですが、そのまま続行したい場合は

continue

と打つと、traceログをリアルタイムで受け取れるようになります

実機で動かしている様子

今回は過去にwonderflに投稿した以下の3つの作品をちょこっと変えて実機で動かしてみました

以下の3つはその元のFlash

ワープっぽいなにか – wonderfl build flash online

SquareLines – wonderfl build flash online

HueCircleTest 色相環テスト – wonderfl build flash online

上の3つをiPhoneアプリ化して動かしてる様子
ちょっと見づらくてすいません・・・w

感想

意外と既存のFlashがそのままサクっと動いてしまってちょっとびっくりしています
AIR2.7で初めてAIR for iOSを試したので、速くなったかどうかはわかりませんが、あまり速度を求めないようなアプリなら十分にいけそうな気がします
ただバグがまだいっぱいあって、作るときにはリリースノートの「既知の問題」というところをしっかり読んだほうがよさげです
俺は埋め込みフォントの問題と、Loaderのloadbytesが動かない問題、指を離すとmouseX、mouseYの座標がどっかにぶっ飛ぶ問題に遭遇しました
あと、やっぱりマウスと指では感覚がだいぶ違うので、そこらへんを意識して作らないと、操作しづらくなります
3つめのHueCircleTestもマウス前提で作ってあるので、指ではすごくやりづらかった・・・w
AIR2.7で作る場合はまだコマンドライン叩くしかないのでちょっと敷居が高い感じですが、パフォーマンスは実用レベルになりつつあるので、いろんな開発環境でサポートされるのを期待しときます

追記

この記事を公開した当日にFlashBuilder4.5.1とFlex 4.5.1が発表されて、FlashBuilderからAIR2.7のパッケージング機能を利用できるようになりました
Flash Builder 4.5.1 と Flex 4.5.1 SDK 公開 – akihiro kamijo

参考にしたサイト

Adobe AIR 2.6 開発者向けリリースノート
Adobe AIR 2.7 開発者向けリリースノート
Adobe AIR 2.7 公開 – akihiro kamijo
Adobe AIR * モバイルデバイス向けの AIR アプリケーションの開発

「ActionScript Beautifl Code」本が発売!俺の作品も載ってるよ!

No Comments

ActionScript Beautifl Code~Beautifl: Flash Gallery of wonderfl~

ActionScript Beautifl Code~Beautifl: Flash Gallery of wonderfl~という本が出ました

wonderflに投稿された作品の中で美しい作品をピックアップして1つずつ解説する、という本です

著者の池田さんはwonderflの美しい作品をまとめているBeautiflというサイトを運営されていて、
今回のBeautifl本に掲載されている作品はすべてhttp://beautifl.net/book/で見ることができます

ということでこのBeautifl本に自分の作品を載せていただきました!
初めて献本をもらってすこし興奮気味です!w

Beautifl本に自分の作品が!

自分のコードが本に載るなんて信じられない・・・
しかも恥ずかしいアイコンが・・・!

このBeautifl本は1つの作品を大体2~3ページで解説されてて、全部で96作品(!)あります

この作品の中身はどんな感じになってるのかなーとパラパラっとめくってみるだけでも面白いので、よかったら是非手にとってみてください!

Blue Taste Theme created by Jabox