[Flash]Laszloよ、納品後の暇な時間を返せ。
昨日納品が一端終わって今日は暇だ。
といっても納品先から何をいってくるかわからないので待機状態なんだけどね。
ついでに言うと、明日からまた忙しくなる。
そんなわけでプロジェクトの仕様書なぞを読みつつ。
今年の初めにちょっと触ったFAME(Flashout+ASDT+MTASC+Eclipse)
でも再度触ってみようかと思いぐーぐるで検索する。
最近またFlashに興味が出てきたのだ。
FAMEは中々に面白い考え方だったので、
FAMEに関するBlogの新規エントリーが増え
FAMEコミュニティが活性化しているかと思いきや、
あらら、全然エントリーがない、一番最近のエントリーでも2005年だよ
どうやらFAMEははやらなかったようだ。
(Swifmillとの組み合わせでFAMESとかいうものもあったのになぁ)
じゃあ、EclipseでFlashを作成するような環境って今他のものはあるのだろうか?
一番今はやっているものは何かないかなぁ?
と
またまたぐーぐるにて「Flash eclipse」で検索をかける。
こんな記事を見つけた。
Ajax,Flash,Java—オープンソースで実現するリッチクライアント 第4回
さらに、そこからこんなものを見つけた。
Open Laszlo (オープン・ラズロと読むらしい)
どうやらCPLライセンスのオープンソフトみたいだ。
CPLライセンスとは・・・麻原○晃にドッペルゲンガーである。。。
って書いたら信者から殺されそうなので、
とりあえず、未来永劫無料、商用利用にあたっても
ラズロのソースコードの公開だけでいいという素晴らしいライセンスてことでOK。
さて、オープンソースであることは非常に気にいたのだけど
(ついでに名前の響きも面白い)
調べてみるとこんなものがった。
EclipseプラグインでOpenLaszlo IDEを構築する
まさに探していたものじゃーないか!
早速Open Laszoloをインストールする。
これは驚くほどさっくりといけた。
→Open Laszlo DL場所
次にIDE4ECLIPSEをインストールしようと
Open Laszlo用のEclipseプラグインを公開している
alphaWorksのサイトにいってみる→ここ
ここにあると書いてたけど・・・?あれ?無い!おいてない!
ってことでネットの海の中血眼になって探すと
LaszloJapanのフォーラムに情報があった
→これ
IDE4LASZLOのDL場所
ふぅ、これでDLできる
やっとこさIde4laszloをインストールできると思ったら。
org.eclipse.emf.ecore.resource が無いとかいって怒られた。
emf.ecoreをダウンロードしてインストール
さて次こそインストール!
必須:フィーチャー"org.eclipse.emf.ocl(1.0.0)"、または互換。
とまた怒られた。
要するに、emf.olcのバージョン1.0.0が足りてねーっていうことだ
エラーワードでググってみると、あるブログに以下プラグインを全部インストールすると解決したとあったのでぶちこむ。
org.eclipse.emf.ocl org.eclipse.emf.query org.eclipse.emf.validation org.eclipse.emf.transaction さーインストールだ。
おう・・・・
現在の構成にはエラーがあり、この操作は予測できない結果を引き起こす可能性があります。
OCL 2.0 Binding for UML (1.
[Flash]FAMEでFlashのバージョン取得
会社で作ったFlashがFlash7で動かないとのこと、
そりゃそうだ、Flash8で作ってるんだから。
会社曰く、現在インスコされているFlashPlayerの初期は7だからそれに合わせろ。
ふーん・・・7がデフォでインスコされているとは知らなかった。
で、パブリッシュの書き出しで7にすれば対応できますよっとメールを送ったところ。
対応できたが、一部ドロップシャドウが消失
ナンデスト?
どうやらドロップシャドウではなくシャドウ部位に使用していたグラデがFlash7だと存在しないようだ。
(それぐらい事前に調べとけってか?ハイ、その通りですスイマセン)
で、出来上がったものを見たが、
やはりグラデが全部消えてるとちょっと嫌な感じだ。
う~ん・・・そういや昔javaScriptにhttpヘッダの中読んで
ブラウザのバージョンをGETする方法とかを見た気がする。
ActionScriptで、FlashPlayerのバージョンをGETできないものだろうか? さらにそのバージョン毎に違うswfファイルを見せること出来ないか?
つまりFlashPlayer8以上を使用している人には8以上のバブリッシュ設定のものを
7を使用している人には7用のswfをそれぞれ提供できないか?
(今回最低バージョンは7としている、理由はActionScript2.0が提供されるのは7以降なので)
調べた結果
System.capabilities.version;
を使用すれば望みのものを得ることが出来るようだ。
以下実際のコードを書いてみる。
(FAME環境で作ったため、Macromediaと違うところがあります)
versionManager.as class versionManager {
function versionManager (path){
trace(Flashout.DEBUG + “trace()”);
// _rootのDepth=1にMovieClipのインスタンスseedを作成
path.createEmptyMovieClip(“seed”,1);
//インスタンスseedをmcとする
var mc :MovieClip = path.seed;
//バージョン情報を取得
var ver :String= System.capabilities.version;
var major_ver = ver.split(" “)[1].split(”,")[0];
trace (“ver = " + ver);
trace (“major_ver = " + major_ver);
//今回パブリッシュ設定を7と8で分けたいので
if (major_ver > 7) {
[Flash]FAME環境でXML読み込み
FAMEでActionScriptを書こうとすると色々と不便なことがある。
(まだまだ開発されたての環境なので致し方ないが)
さて先日ある案件でXMLデータを読みこんで処理したいといった内容があったのだが、
いかんせん、MacromediaFalshのように簡易的に書くとコンパイルエラーで落ちてしまう。
また、XMLでの検索は面度なのでActionScript用のJSONクラスを用意しても
JSONクラスで落ちてしまう。
結局手書きでやることにした。
作業の流れとしては
XMLインスタンス作成 インスタンス.ignoreWhite プロパティをtrueに設定。 XMLインスタンのonLoadにファンクション設定。 XMLインスタンスに外部XMLをload XML.onLoad はLoadが実行され終了されて初めて動作するプロパティです。
さて実際に以下に書いてみましょう。
XMLデータ内容 ActionScript内容 //XMLインスタンス作成
var my_xml :XML = new XML();
// 改行などを無視
my_xml.ignoreWhite = true;
//onLoadのイベントハンドラにfunctionを設定
my_xml.onLoad =
function(success) {
if (success) {
my_xml = this;
// XMLエレメントの取得
var my_xmlnode :XMLNode = my_xml.firstChild;
var name :String = “”;
var url :String = “”;
var i :Number = 0;
while ( my_xmlnode.childNodes[i].hasChildNodes() ){
name = my_xmlnode.childNodes[i].childNodes[0].childNodes;
[Eclipse][Flash]フリーなFLASH FAME!
フリーなFLASH FAME!
前の記事でFAMEというフリーのFlash開発環境を見つけたと書きました。
FAMEの環境が整ったので、それについて書こうと思うます。
そもそもFAMEとは何か。
これはFlashout+ASDT+MTASC+Eclipseの頭文字をとったものです。
Flashout :
ActionScript、ログ吐き
ASDT :
ActionScript Development Tool
MTASC :
ActionScriptのコンパイラ
Eclipse :
java系PGには欠かせないフリー開発環境ツール
Eclipseをコアとし、
残り3つのツールを組み合わせることで
フリーのFlash作成ツールFAMEとなります。
実際の環境構築において参考にしたサイト
[技術系のシバチョがコラムを書く](http://d.hatena.ne.jp/shibacho/20051009 “技術系のシバチョがコラムを書く - “Getting Started With MTASC for Flash Development"の日本語訳”) 神原日記 - FAMEを始める 上記二記事を参考にやると、得に躓くことなく環境構築できました。
FAMEを触ってみる
実際動かしてみた感想として、
javaやEclipseでの開発に慣れた人なら使いやすいが、
今までMacromedia Flash で
Flash作成してきた人は正直きついんじゃないか?と思います。
(一部のActionScriptでガリガリ書いてる人は除く、そういう人にはむしろFAMEお勧め)
ピュアActionScriptというのか・・・
FAMEで全て作ろうとすると全部スクリプトでflashを作成しなければなりません。
(これはこれで最軽量なFlashが作れるので魅力的なのですが・・・)
図形描画など、かなり肩が凝る作業になってしまいます
やはりグラフィカルな作業はMacromedia Flashのほうが楽楽です。
FAMEは使えるか?
物理モデルを映像化したり(惑星の動き、自由落下など)
数式ありきな自然現象をFlashで表現したい場合は超お勧め。
(後はフラクタルなども)
それ以外としては、
グラフィカルな編集をMacromedia Flashで
ロジカルな編集をFAMEで、
といったツールを使い分けるのもいいかも。
そうなると今までの、
デザイナーはscriptが苦手、 プログラマはグラフィックが苦手、 でも編集するのは同じflaファイル
な状況から脱却し、
それぞれをその道に特化した人が担当する事により
素晴らしい作品が出来るかもしれません。
蛇足?
今回紹介したFAMEですが、