Tag Archives: JSFL

ライブラリアイテムをあれこれするJSFL

0
Filed under Flash
Tagged as , ,

FlashのライブラリにあるアイテムについてあれこれするJSFLについて、まとめておきます。といっても二つだけですが。

まず最初に

後述するjsflファイルを実行するには、JSFLファイル置き場(WindowsXPの場合 →C:\Documents and Settings\<ユーザー>\Local Settings\Application Data\Adobe\Flash CS4\ja\Configuration\Commands)にファイルを置けばそれだけで、Flashの「コマンド」メニューの中に現れ、選択することで使用することが出来ます。
Flashの再起動は不要です。

ライブラリ内の画像をすべて「更新」するJSFL

まず一つ目は、ライブラリ内の画像を「更新」するJSFL。
いろいろな画像ファイルの大本ファイルが変更されても、ライブラリアイテムは「更新」しないと適用されないが、いちいち選択するのが面倒です。
ある程度ならまとめて選択してもいいのですが、ライブラリにフォルダを作って管理していると、全部やるのは人間のやるべきことではありません。
そこで書いたのが、このjsfl (TORQUES-UpdateImages.jsfl)です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * ライブラリにある全てのビットマップファイルを「更新」するJSFL.
 * @author  torques.jp
 * @since   2010-04-02
 * @version 1.0
 */
 
fl.outputPanel.clear();
fl.trace( "== TORQUES-UpdateImages.jsfl - start ==" );
 
var items    = fl.getDocumentDOM().library.items;
var numItems = items.length;
 
for( var i=0; i<numItems; i++ ){
  var item = items[i];
  if( item.itemType == "bitmap" ){
    fl.trace( "Update-Bitmap ["+item.name+"]" );
    fl.getDocumentDOM().library.updateItem( item.name );
  }
}
 
fl.trace( "== TORQUES-UpdateImages.jsfl - finish ==" );

ライブラリ内のリンケージクラス名を置換するJSFL

もう一つは、ライブラリのリンケージ設定をしているモノで、その名前を一括置換するというモノ。
自作ASライブラリのパス名を変えたい、というときに作成したのが、このjsfl (TORQUES-ReplacePackage.jsfl)です。
ただ、リンケージの「クラス」と「共有クラス」の文字列を置換するだけですので、必要に応じて、中身を書き換えてください。
下記のコードでは、”jp.NEW”という文字列を”jp.OLD”に置換しています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * リンクパッケージ名を変更するJSFL.
 * @author  torques.jp
 * @since   2010-04-13
 * @version 1.0
 */
 
fl.outputPanel.clear();
fl.trace( "== ReplacePackage ==" );
 
var items    = fl.getDocumentDOM().library.items;
var numItems = items.length;
 
for( var i=0; i<numItems; i++ ){
  var item = items[i];
  if( item.itemType == "movie clip" ){
    if( item.linkageExportForAS ){
      item.linkageBaseClass = item.linkageBaseClass.replace("jp.OLD","jp.NEW");
      item.linkageClassName = item.linkageClassName.replace("jp.OLD","jp.NEW");
    }
  }
  textToFile  += "\n";
}

[AD]

↓JavaScriptでかなり面白そうな本!カートに入れた。

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

著者/訳者:Douglas Crockford

出版社:オライリージャパン( 2008-12-22 )

定価:¥ 1,890

Amazon価格:¥ 1,890

大型本 ( 198 ページ )

ISBN-10 : 4873113911

ISBN-13 : 9784873113913


↓jQuery、よく使っています!この書籍も良さそう。

jQuery+JavaScript実践リファレンス―Webデザインを強化するための

著者/訳者:葛西 秋雄

出版社:ソシム( 2009-04 )

定価:¥ 2,940

Amazon価格:¥ 2,940

単行本 ( 308 ページ )

ISBN-10 : 4883376494

ISBN-13 : 9784883376490


開いているflaファイルをすべてパブリッシュするJSFL

0
Filed under Flash
Tagged as , ,

以前書いたJSFL「Flash CS4のプロジェクト代替JSFL」もそれなりに便利なのだが、もっと小さい単位でパブリッシュしたことが多いことに気づいた。

開いているものすべてをパブリッシュ

以前書いたものにチェックボックスをつけたり発展させる形で改良しようかとも思ったが、GUIの準備をしたりとちょっと時間がかかりそうなので、別の方法を考えてみました。
それで思いついたのが、「開いているflaファイルすべてをパブリッシュ」という選択肢。

JSFLコード

以下のようなコードを書き、JSFLファイル置き場(WindowsXPの場合→C:\Documents and Settings\<ユーザー>\Local Settings\Application Data\Adobe\Flash CS4\ja\Configuration\Commands)においておけば完了です。
[JavaScript]
/**
* 開いているFlaファイルをすべてパブリッシュするJSFL.
* @author torques.jp
* @since 2009-08-26
* @version 1.0
*/

fl.trace( “== TORQUES-PublishAll.jsfl – start ==” );
for (doc in fl.documents) {
var flaDoc = fl.documents[doc];
fl.trace(” publish – ["+flaDoc.name+"]“);
flaDoc.publish();
}
fl.trace( “== TORQUES-PublishAll.jsfl – finish ==” );
[/JavaScript]

実際使っていたらいろいろと使えるシーンが多いことに気づいた。
まさに “Less is more”!

Flash CS4のプロジェクト代替JSFL

0
Filed under Flash
Tagged as , ,

CS4のプロジェクト機能の問題

Flash CS4にして困っていたことの一つがプロジェクト機能である。
CS3と同じような雰囲気のパネルがCS4にはあるのだが、CS4の新しくデザインされなおしたパネルの中でこのパネルだけはなんだかやっつけで作ったかのようで、粗末な疑似プロジェクト機能しか与えてくれない。
ちなみに、このパネル上で右クリックするとプロジェクトパネルがswfでできていることが分かる。Flashではswfで自作パネルを作ることができたりするのだが、このプロジェクトパネルもそういう機能で作っているのだ。どう考えても本腰を入れているとは思えないのだ。
そのだめなプロジェクトパネル機能の中でも、プロジェクトとしてのファイル構造を独自に持てないのが一番大きな問題である。つまり、ただのファイルエクスプローラでしかなく、各所に散らばったflaファイルをまとめ上げたりするといった使い方はできない。
その上、私の環境では、「プロジェクトのパブリッシュ」を選んでも2つか3つめのパブリッシュの途中でFlashごと落ちるのだ。
あまりに使えないので、もう「プロジェクト」パネルは閉じることにしたが、それで何かが解決したわけではない。大量にflaファイルをパブリッシュし直すことが多い目の前のプロジェクトをどうすべきか、という問題が残っているのだ。

JSFLに助けられる

とあるサイトを見ていたら、「JSFLでFlaファイルを開かなくてもパブリッシュできる」という情報を見つけたので早速試してみた。
fl.publishDocumentというメソッドがそれである。ちなみにこの機能は10.0.4へのアップデートが必要。
以下のようなコードを書き、JSFLファイル置き場(WindowsXPの場合→C:\Documents and Settings\<ユーザー>\Local Settings\Application Data\Adobe\Flash CS4\ja\Configuration\Commands)においておけば完了です。
[JavaScript]
fl.trace(“start – publishAll”);

var fla_list = [
"C:/prj/hoge/AAA/AAA.fla",
"C:/prj/hoge/BBB/BBB.fla",
"C:/prj/hoge/CCC/CCC.fla",
"C:/prj/hoge/DDD/DDD.fla"
];

for( i=0; i fl.trace(" publish - ["+fla_list[i]+"]");
fl.publishDocument( FLfile.platformPathToURI( fla_list[i] ) );
fl.trace(" publish - end.");
}

fl.trace("end - publishAll");
[/JavaScript]
無事、すべてのflaファイルをパブリッシュすることができました。

10.0.2必須!

というか、Flash CS4を使っている人は10.0.2へのアップデート必須ですね。

自分の場合、CS4を1,2週間使っているけど、自動的にアップデートされていなかったようなので、「ヘルプ」メニューから「アップデート…」を選んで実行しました。
「Flash CS4、よく落ちるなぁ」と思ったら、ちょっとアップデートを確認してみるといいかもしれません。