Home > Archives > 2009-12

2009-12

2009年を振り返ってみる


早いもので、大晦日。

(今年は)名古屋に遠征してみたり、某イベントに出演させて頂いたり、某勉強会を立ち上げたり、元祖ラーメンサラダを食べに行ったり…本当にいろいろなことがあった一年でした。

いや~、楽しかった!

来年も今年同様、フットワークは軽~く、いろいろ動き回ろう(某勉強会に遠征?)かなぁ…と思っています。

今年一年、いろいろお世話になりました! 来年も宜しくお願い致します!

皆様、良いお年を!

『プチラーサラ in 札幌』やります!


以前、このブログで『年末に札幌で集まりませんか?』とエントリしてみたところ、(twitterやらブログのコメント欄などで)反応してくださった方達がいらっしゃいましたので、『プチラーサラ in 札幌』を開催することにしました!

日時は、12月29日。

場所は、ラーメンサラダ発祥の店でもある『ビッグジョッキ』。

時間はまだ確定ではないのですが、18時30分とか19時00分~?

参加してもいいよ~! という方は、以下のどれかで参加表明をお願いします!

twitterで
@flabakaにつぶやいてください!
ブログのコメント欄で
参加してもいいよ! と書いてください!
メールで
flabaka あっと じーめーる どっとこむに、件名「ラーサラ参加希望」でメールをお送り下さい!

詳細が決まり次第、こちらからご連絡させて頂きます!

既に参加表明されている(こちらからメールをお送りしている)方々は、(再度)参加表明して頂かなくて結構です。

元祖ラーサラ、メチャクチャ楽しみっ!

あとは、28日に僕の乗った飛行機が(到着地の天候悪化により引き返します! 的な機内アナウンスが流れることなく)無事、新千歳に着陸してくれることを祈るのみ…

FlashDevelop勉強会のネタ・その2


asファイルだと…

FlashDevelopでFlash IDE Projectを選択すると、コード(asファイル)を書いた後、「Ctrl + Enter」もしくは「F6」でFlashDevelop側からFlashIDEをコールして、パブリッシュすることが出来ます。

これ、便利ですよね!

では次に、プロジェクト内にflaファイルとJSFLファイル(test.jsfl)を作成。

そして、そのJSFLファイルに以下のスクリプトを書きます。

fl.trace("あいうえお");

そして、「Ctrl + Enter」もしくは「F6」を押してみると…

出力パネルにtraceされない…

JSFLの場合も、ショートカットを押すだけで、FlashIDEがコールされて、JSFLが実行されたら便利だなぁ…と。

勉強会のネタの二つ目が決定!

F6を押した場合

asファイルでF6を押した場合、どういう仕組みでFlash IDEがコールされて、パブリッシュされているかを調べてみましょう!

その設定は、MainMenu.xmlに定義されているんですが、その前にやっておくことが…

Program Files>FlashDevelopの設定ファイルを、LocalのFlashDevelopの方にコピーしておきましょう。(Localの方の設定ファイルをいろいろ弄りたいので…)

僕の環境はWindows7なので、C>Program Files(×86)>FlashDevelop>Settings>以下の5つのxmlファイルをコピーして、C>ユーザー名>AppData>Local>FlashDevelop>Settingsにコピーした後、MainMenu.xmlファイルをエディタで開きます。

ToolMenu

エディタによって差はあるかと思いますが、135行目に、<button label=”Label.TestMovieInFlash”~というものがあるかと思います。

そこにF6を押した際に実行されることが書かれています。

そこを見ると、F6を押す→Tools>flashide>testmovie.jsflが実行されていることが分かります。

これを真似してあげれば、何だか出来そうな感じがしたので、135行目を丸々一行コピーして、行の上にペースト。

そしてラベル名や、ショートカットキーを変更したり、実行するJSFLファイルを記述してあげます。

<button label="Label.TestJSFL" (略) $(UserAppDir)\Tools\flashide\runscript.jsfl$(Quote)" shortcut="F9" />
<button label="Label.TestMovieInFlash" (略) $(AppDir)\Tools\flashide\testmovie.jsfl$(Quote)" shortcut="F6" />

こんな感じでしょうか?

(ローカルの方の設定ファイルを有効にしたいので)TestJSFLの方の$(AppDir)という記述を、$(UserAppDir)に変更してあります。

次にTools>flashideフォルダにrunscript.jsflを作るんですが、Localの方にはToolsフォルダが存在していないので、C>Program Files(×86)>FlashDevelop>Toolsフォルダを丸ごとコピーして、Localの同じ箇所にペーストしておきます。

そのフォルダ内にrunscript.jsflというファイルを作ってあげて、fl.trace(”ほげほげ”);と記述して、FlashDevelopを立ち上げて、F9を押すと…

Flash IDEがコールされ、出力パネルに「ほげほげ」と表示されました!

わ~い!

応用編

runscript.jsflに、fl.trace()を直接記述するのではなく、こんな感じにしてあげると便利かと…

★例1

fl.runScript("file:///C|/JSFL/test.jsfl");

この場合だと、Cドライブ直下にJSFLというフォルダを作成し、その中のtest.jsflにパスを通しています。

FlashDevelopでこのファイルを開いて、編集して、F9を押してあげれば、Flash IDEがコールされて、test.jsflが実行されます。

他の使い方としては、プロジェクト内に作成したJSFLファイルに(上記のような感じで)パスを通しておけば、こちらもF9を押すだけでJSFLが実行されます。

★例2

var fileURL = fl.browseForFileURL("open", "ファイルを選択してください"); 
fl.runScript(fileURL);

例1ではファイルを直接指定していましたが、それが面倒だなぁ…って場合はこちら。

ここではダイアログボックスを開いて、どのJSFLファイルを実行するかを選択出来るようにしています。

気をつける点

その1

先の例2のJSFLを、UTF8のBomありで保存&実行した場合

UTF8でBomありの場合

先の例2のJSFLを、UTF8のBomなしで保存&実行した場合

UTF8でBomなしの場合

Bomなしで保存してしまうと、日本語が文字化けしてしまいます。

さらにBomなしだと、こんなことも起こります!

その2

勉強会の際、JSFLがきちんと動作しなかったんですが、その原因が分かりました。

文字コードが原因だったみたいです。

アラートを出すという単純なコードで検証してみました。

UTF8のBomあり
alert("ああああああ");

Bomありの場合だと、このJSFLファイルはきちんと実行されます。

UTF8のBomなし
alert("ああああああ");

全く同じコードでも、Bomなしの場合だと、このJSFLファイルは実行されませんでした。

そこで、勉強会の際に実行されなかったJSFLファイルを見てみると、文字コードがUTF8のBomなしに…

エディタの設定をきちんとしていなかったのが、原因だったみたいです!(Flash IDEやFlashDevelopを使った場合は、気にしなくてもいいのですが…)

教訓:JSFLを書いたら、UTF8のBomありで保存!

FlashDevelop勉強会のネタ・その1


昨日開催した『第一回FlashDevelop勉強会』でのネタ・その1。

以前、こんな記事を書きました。

EnchancedArgumentsプラグインを使った、Snippetsの例です。

例えば(以下の様な)TweenerのSnippetsを作った場合

Tweener.addTween($$(target=this,hoge), { x : $$(x=100,null), y : $$(y=100,null), alpha : $$(alpha=1,0,null), time : $$(time=1,null), delay : $$(delay=1,null), transition : $$(type="easeOutExpo"), onComplete : function():void{ trace("$(EntryPoint)");}});

これを使うと、各種設定を1行で書くことが出来ます。

Tweener.addTween(hoge, { x : 100, y : 100, alpha : 1, time : 1, delay : 1, transition : "easeOutExpo", onComplete : function():void{ trace("");}});

でも中には、以下の様にパラメータはインデントしたいよね! という方もいらっしゃるのではないでしょうか?

Tweener.addTween(hoge, {
	x          : 100,
	y          : 100,
	alpha      : 1,
	time       : 1,
	delay      : 1,
	transition : "easeOutExpo",
	onComplete : function():void
    	{
        	trace("");
    	}
});

先のSnippetsを使った後で、(地味~に)改行入れて、TABキーを使ってインデントするのって、結構面倒…

Snippetsは登録したコードを、そのままの形で挿入してくれるというものなので、あらかじめSnippets側でインデントを設定しておけば、上記のようなことも簡単に実現することが出来ます!

用意するSnippetsは、こんな感じ。

Tweener.addTween($$(target=this,hoge), {
	x          : $$(x=100,null),
	y          : $$(y=100,null),
	alpha      : $$(alpha=1,0,null),
	time       : $$(time=1,null),
	delay      : $$(delay=1,null),
	transition : $$(type="easeOutExpo"),
	onComplete : function():void
    	{
        	trace("$(EntryPoint)");
    	}
});

一行で記述するSnippetsと、インデントを入れたSnippetsを両方用意しておけば、状況に応じて使い分けることが出来るので、便利です!

ということで、TweenerとProgresionのDoTweener用のSnippets(それぞれ一行用とインデント用)を作ってみました。

「このパラメーター、いらないよね!」とか、「私はこっちの方をよく使うから、そっちをデフォルトに設定したい!」などありましたら、ご自由に書き換えて使ってくださって結構です。

使ってみたいという方は、GoogleCodeのflashdevelopjpにコミットしてありますので、そちらからどうぞ!

今年も懲りずに…


去年も同じようにエントリしたら、数人しか集まらず(結局)断念したんですが…

そんなことにめげず、今年もエントリしてみる。

札幌近郊にお住まいの方で、このブログを見てらっしゃる方(多分いないと思うけど…)&年末~年始に札幌にいるよ~! って方。

僕も札幌にいますので、集まりませんか?

『ラーメンサラダを広める会 in 札幌』って感じで、本場のラーサラを食べて、舌鼓を打ちましょう!

参加してもいいよ! って方は、この記事にコメント付けて頂くか、twitterで僕宛にでも、呟いてください。

もし、誰もいなかったら…

そん時は、家でストーブにあたりながら、蜜柑でも食べて過ごします。

Home > Archives > 2009-12

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top