[actionscript] JavaエンジニアがActionScriptに挑戦してみる(野望編)

 ということで俺はしがないJava屋さん。3年前に雑誌編集業から足を洗い、職業訓練所でJava訓練、某SI派遣会社に転職してまもなく辞職して新天地へと旅立とうとしとるわけです。楽園はいったいどこにあるのか。そんなことはどうでもよくて、せっかくなので新たなことに挑戦してみたいな、と思って正月3が日をactionscriptに挑戦してみることに費やしたわけです。
 で、せっかくやるなら目標設定が必要なので、この前に2日くらいで作ったコレ
http://scuba.campingcardisc.com/labo/scuba365/scuba.html
Usteam + Lingr APIで、Ustしながらニコニコ動画みたいに文字が流れてくるよーってやつ。
Usteamにチャットついてるけど、IRCってなんか好きになれないし思いし、ニックネームのつけ方いちいち説明するのも面倒だし、
ということでLingrくっつけてしまいました、ってだけなんだけど。
これをActionScriptでフルFlashにして、もっと面白い機能つけたいなーということに挑戦してみることにしたわけであります。

 ここまでが前提ね。で、最初にactionscriptに興味持ったのがid:secondlife氏のこの記事がきっかけ。
http://d.hatena.ne.jp/secondlife/20070324/1174711986

このように保存するだけで即座に結果を表示/リロードしつつプログラミングを行っていくことができます。log() 関数で console.log にも出力してるので、いちいち flashlog を見なくとも即座に FireBug の window で確認できるのも地味に便利だったりします。

これ使えば、JavaScript開発するみたいな感覚でActionScript開発できるんじゃね? と思ってしまったのがきっかけ。
いまfcwrapはrascutという名前になってるみたいです。その辺の詳しいことは前の日記に書いたWEB + DB PRESSに記事が載ってるんでおすすめであります。
http://d.hatena.ne.jp/tikitikimi/20071205/1196867470
 で、ですね、しがないJava屋さんの俺は、IDEっ子なのでvimでの開発なんてたるくてやってられない、と我まま放題なわけですよ。でもFlex開発環境(Eclipseベース)を買うには金がかかる! 開発環境にかける金なんかねーよ! というわけでいろいろ探ったところ、オープンソースで開発されてるFlashDevelopがActionScript3.0に対応したよーっていうわけでそれを入れてみることにしました。

http://weekbuild.sakura.ne.jp/trac/wiki/as3/FlashDevelop
http://weekbuild.sakura.ne.jp/trac/ticket/99
http://d.hatena.ne.jp/asahiufo/20070713/1184347922

この辺の記事を参考に環境設定・日本語化を行い、どうにかこうにか開発開始。
FlashDevelopのコード補完はほぼEclipseと同じ感覚でやれるのでいろいろ便利です。
ということでFlashDevelopで書きつつ、rascutで常時ブラウザ表示させながらいろいろ試してみているところ。

 でまあいろいろ悩んでます。何に悩んでいるかを書くと

  • actionscript2.0の面白いコードを某所から入手できたので、それを3.0に移植して動かそうとしてみているんだけど、どうにも動かない。いろいろ試してみたけど、どうも森を書き分けるのに手一杯なので、初心に帰って一から自分で書くことにした
  • mxmlとasファイルの関係は、htmlとjsファイルの関係とほぼ同等なことはわかった。が、mxmlに動的に要素を追加しようとしてもどうにも追加されない。javascriptでDOMで追加する感じで、.addChildってSpriteを入れようとしても動かないんだよな。もうちょっと研究が必要
  • actionscriptではXmlSocketが使えるので、Lingr、つうかCometを使う必要無いか、と思ったけど、XmlSocketを使うにはポート制限とかややこしそう。サーバも自前で建てなきゃいけない。ということでやっぱりLingrAPIを利用させてもらおうかな。Cometサーバを自前で建てるという選択肢もあるみたいだけど、そこまでやるのはまた時間がかかっちゃいそうなので、actionscriptのプログラムに集中する意味で挑戦してみよう(まだ未着手)

とかいろいろ悩んでいるうちにあっという間3が日終わっちゃって(その間飲みに行ったりしてたんだけど)、何とかちょっと動くものができただけ、というところでまだまだ野望編という感じです。うーもっともっと勉強しなきゃなぁ。ということで頑張っちゃうぞ! という過程はこのブログで書いていこうかと。

 使ってみた感覚として、Javaと思ってやってるとエラー処理とかの機構がゆるいので結構ランタイムエラーで悩まされる、でもJavaScriptな感覚でやると意外に厳密でコンパイルエラーに悩まされる、ということでまだ体がactionscriptについていってない感じ。1週間くらい没頭できれば感覚つかめそうなんだけどなぁ。

 ということでまた。あ、あけましておめでとうございます。