Posted by yamada on 2010/04/13 – 16:37
Filed under Flash
Tagged as Flash, JavaScript, JSFL
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でかなり面白そうな本!カートに入れた。
↓jQuery、よく使っています!この書籍も良さそう。
Posted by yamada on 2010/03/02 – 09:00
鬼門のwmode
“wmode”、Flashを使った仕事をしている方なら一度は悩まされた経験があるのではないでしょうか。
Flashの出力ファイルであるswfをhtmlにエンベッドするときに指定するパラメータの一つです。
Firefox 3.6
ところで最近、Firefox 3.6にアップデートされて、 Flash上でマウスホイールによるウィンドウスクロールができなくなってしまいました。
とある案件でこの問題が浮上してきて困りましたが、知り合いが調査してくれた結果、回避方法が分かりました。
しかしその回避方法とは「wmodeの設定で”window”以外にする」というもの。
うわー!
出た!
wmode!!
ただ、今までは「wmodeを”window”以外にすると日本語入力が出来ない」という致命的なFXXKINGバグがありましたが、その時はwmodeを他のもの(“opaque” か”transparent”)に変えて対応してきました。
ところが、今回はその逆です。
つまり、日本語入力が必要かつ、Firefox3.6でフルスクリーンFlashでFlash上でマウスホイールによるスクロール欲しい、となったらアウトです!
幸い、今回の案件では日本語入力が必要ないものだったのでwmode変更で対応出来ました。
あと、Scroll on FlashというFirefoxアドオンによる回避方法もあるようですが、Windowsでしか使えない上に、サイト閲覧者にこれをインストールしろ、とは言えないですよね。
Flash Player 10.1! 早く!
ところで、Flash Player 10.1のベータ版が配布されています。
kamijoさんもblogに書かれていますが、新機能はよく分からない。
そこで、期待しないでリリースノート(PDF)を見てたら、Fixed Issuesの中に驚きの一文を発見しました!
Can’t input Japanese characters in text field if wmode “opaque” or “transparent” is set true except IE.
おぉ!!!
これは!!Flash Player 10.1では、wmodeの指定と日本語入力の問題が直る!ということです!(よね?)
ってか、やっぱり(ブラウザの問題ではなくて)Flash Playerのバグだったのか!一体どれくらいの人がこのバグに悩まされていたり、仕様変更を余儀なくされていたのか!と大崎に向かって言いたいところですよ。
一般公開はまだなのですが、バグ修正分だけはさっさとリリースして欲しいです!
こういうバグを何年も放置しているものはやっぱりiPxxには載せられないよね。
クパチーノで「この致命的なバグリストを直すまでは載せられない」とでも言われたのかな?というぐらい、 Flash Player 10.1では結構真剣にデバッグされているような気がする。
あと、IDE側もいろいろと直したり、基本機能の改善を行って欲しいです。iPhoneアプリ書き出せるとか、追加機能はその後だよ!
[AD]
↓MySQLを使おうとしているのですが、最初にどこまで考えて作ったらいいのか分からない。この本とか参考になるのかな?

MySQLによるタフなサイトの作り方
著者/訳者:佐藤 真人 桑野 章弘 岡田 達典 大黒 圭祐
出版社:ソフトバンククリエイティブ( 2009-09-17 )
定価:¥ 3,360
Amazon価格:¥ 3,360
大型本 ( 408 ページ )
ISBN-10 : 4797353937
ISBN-13 : 9784797353938
↓PixelmatorはMac OS Xで使えるPhotoshop的画像エディタ。現在絶賛試用中!PSDファイル開けるし、ショートカットもかなり同じだし、Elementsよりこっちがいいかもしれない。

ピクセルメーター
定価:¥ 8,980
カテゴリ:CD-ROM
発売日:2009-07-30
Posted by yamada on 2010/02/27 – 01:38
Filed under AS3, Flash
Tagged as AS3, Flash, Shift_JIS, XML
「AS3のShift_JISのXML読み込みにバグ」という問題でかなりハマったので、メモのためのエントリです。
Shift_JISのXML読み込みで問題発生
『AS3でShift_JISのXMLを読み込む』という話があった時点で、「え!?Shift_JIS?なんか怖いので、UTF-8にしてください」と野生の勘で言ったものの、根拠がなくて却下されていました。
で、開発終盤。
なぜだかうまく読み込めない、という問題が大きな問題となりつつあり、当初は通信ラグとかサーバ側がおかしいんじゃないのか?とかそういう感じで調査していたのですが、調べていくと、「AS3でShift_JISの大きなサイズのXMLを読み込むとうまく読み込めないことが発生する」というバグ情報にたどり着きました。
野生の勘は的中でした。
21世紀も1割過ぎたんだから、もう新規案件の通信時文字コードはUTF-8で統一しようよ、と心の底から思います。
Shift_JISのXMLを問題なく読み込む方法
さらに調べると、どうやら回避策があるということがわかり、具体的には下記のブログエントリを参考に回避することが出きました。
内容を説明すると、バイナリフォーマットで通信し、それをByteArray→UTF-8の解釈でStringに変換→XMLという流れで解釈してあげれば問題ない模様。
// ロード開始コード.
var _loader:URLLoader = new URLLoader();
_loader.dataForamt = URLLoaderDataFormat.BINARY; // ←ここが重要.
_loader.addEventListener( Event.COMPLETE, onLoadComplete );
_loader.load(new URLRequest( _path_to_load_ ));
// ロード完了後の処理.
var bytes:ByteArray = ByteArray( _loader.data ); // 型キャスト.
var xml:XML = new XML( byteData.readMultiByte( bytes.length, "shift-jis" ) );
この流れでうまく行くというのは、おそらく、自動でXMLに変換するときに文字コード判定がバグってしまう、ということなんだと思います。
[AD]
↓ヘッドフォン入出力の分岐用に欲しい。というか、ミキシングできるらしく試してみたい。
↓フタ付き小物入れ部分が魅力的だったりするUSBハブ。箱の中にも端子があったら最高だった。

huBox HB-029
Amazon価格:¥ 1,280
カテゴリ:Personal Computers
発売日:2010-03-01
Posted by yamada on 2009/12/21 – 18:45
Filed under AS3, Flash
Tagged as AS3, christmas, Flash, web, Xm.as
Xm.as 2008
去年のクリスマス前のことですが、「クリスマスに、Xm.asというファイル名でActionScriptで何かをやろう」と名前先行ネタ企画思い立ちblogに宣言をして、24日に公開していました。

ちょうどWonderflがスタートした時期だったこともあって、そこで公開していました。
Xm.asは別に人が参加してくれたわけでもなく、完全な一人遊び。
そのときの仕事で凝り固まっていた頭をほぐしたいということで、普段の仕事とは全く違うことで楽しんで作っていたのです。
Xm.as 2009
あれから1年。Xm.asのこともちょっとは考えていたのですが、でも今年はさらに忙しい時期だしなぁ、と何となく考えないようにしていました。
そんな先日、海外のecardサイトの方から「うちのecardサイトで使わせて欲しい」というメールが来ました。
コードも公開しているから使おうと思えば使えるのに、俺がMITライセンスにしていなかったり(All Rights Reservedにしています)したのでその点で気にしてメールしてくれた心意気がうれしくて、OKだよ、と返事しました。(英語が苦手なので、そこは友人に助けてもらいました…)
なんと、そのメールを送った3時間後、「サンキュー!載っけたよ!」的なメールが返ってきました!
それが下記のモノ。

このメールを機に、wonderflのXm.asを見てみたら、ここ数日で突然多くの方がfavoriteとして登録してくれていて驚きました!
どういう形であれ、作ったものに反応してくれる人がいるというのはうれしいですねー!
俺にとってはちょっと早いクリスマスプレゼントという感じですらあります。
その早さに俺も乗っかって、今年も何か作ろうかなー。
[AD]
↓レゴのクリスマスセット、これは欲しい!
↓最近出たWonderfl本。ちょっと読んでみたいな。