Category Archives: AS3

Flash Optimizer試用

0
Filed under AS3, Flash
Tagged as ,

Flash Optimizer

Flash Optimizerというのを見つけた。swfのサイズを最適化してくれるものらしい。
無料の試用版があったのでダウンロードして使ってみました。

が!試しに読みこませたswfがフィルターを使っていたので、これを外していいか?というダイアログが表示された。

ダメダメ!そんなのダメですよ!と、「いいえ」を押すと、そのswfファイルの最適化は行われない。。
フィルタの設定には手を付けないでよ、という設定も、ちょっと見てみたところ出来ないようだ。
がっかりしつつアンインストールしました。
フィルタ無視して最適化する設定がどこかにあったのかなー。知っている人いたら教えてください。

やっぱり自力で。。

やっぱりいろいろな本を読みつつ、自分で何とかするしかないですかね。

Flash Hacks

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。

2005年発売だからAS3に関する情報は無いですが、コードに関わらないFlashのグラフィックスなどの最適化についてはいろいろ載ってそうで、ちょっと目を通しておきたいかな。

9章 パフォーマンスと最適化
65. Flashファイルの肥大化への対処
66. 複雑なサイトのための帯域幅のテスト
67. 低品質な設定のカモフラージュ
68. パフォーマンスを向上させるグラフィックの最適化

詳説 ActionScript 3.0

詳説 ActionScript 3.0

著者/訳者:Colin Moock

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

定価:

Amazon価格:¥ 5,980

大型本 ( 1044 ページ )

ISBN-10 : 4873113873

ISBN-13 : 9784873113876


あとは、こちらの本でActionScript3周りをしっかり固めておけばいいかな。
ガベージコレクションやE4Xについても章が割かれているから結構良さそう。

14章 ガベージコレクション
15章 ダイナミックなActionScript
16章 スコープ
17章 名前空間
18章 XMLとE4X

AS3のShift_JISのXML読み込み問題

1
Filed under AS3, Flash
Tagged as , , ,

「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]

↓ヘッドフォン入出力の分岐用に欲しい。というか、ミキシングできるらしく試してみたい。

【国内正規代理店品】belkin ベルキン マルチ イヤフォン スプリッター ROCKSTAR F8Z274

【国内正規代理店品】belkin ベルキン マルチ イヤフォン スプリッター ROCKSTAR F8Z274

中古価格: ¥ 3,160 より

Amazon価格:¥ 14,816

カテゴリ:エレクトロニクス

発売日:2008-11-10


↓フタ付き小物入れ部分が魅力的だったりするUSBハブ。箱の中にも端子があったら最高だった。

huBox HB-029

huBox HB-029

カテゴリ:Personal Computers

発売日:2010-03-01


Merry Xm.as!

0
Filed under AS3, Flash
Tagged as , , , ,

Xm.as 2008

去年のクリスマス前のことですが、「クリスマスに、Xm.asというファイル名でActionScriptで何かをやろう」と名前先行ネタ企画思い立ちblogに宣言をして、24日に公開していました。
Xm.as 20081224
ちょうどWonderflがスタートした時期だったこともあって、そこで公開していました。
Xm.asは別に人が参加してくれたわけでもなく、完全な一人遊び。

そのときの仕事で凝り固まっていた頭をほぐしたいということで、普段の仕事とは全く違うことで楽しんで作っていたのです。

Xm.as 2009

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

Xm.as ecard at jimpix.co.uk

このメールを機に、wonderflのXm.asを見てみたら、ここ数日で突然多くの方がfavoriteとして登録してくれていて驚きました!
どういう形であれ、作ったものに反応してくれる人がいるというのはうれしいですねー!
俺にとってはちょっと早いクリスマスプレゼントという感じですらあります。

その早さに俺も乗っかって、今年も何か作ろうかなー。


[AD]

↓レゴのクリスマスセット、これは欲しい!

レゴ (LEGO) クリエイター・クリスマスセット 10199

レゴ (LEGO) クリエイター・クリスマスセット 10199

定価:¥ 12,960

Amazon価格:¥ 17,200

カテゴリ:おもちゃ&ホビー

発売日:2009-10-11


↓最近出たWonderfl本。ちょっと読んでみたいな。

ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―

著者/訳者:面白法人カヤック フォークビッツ

出版社:ワークスコーポレーション( 2009-12-19 )

定価:

Amazon価格:¥ 8,736

単行本 ( 376 ページ )

ISBN-10 : 4862670776

ISBN-13 : 9784862670779


TextFieldの高さの最適化

1
Filed under AS3, Flash
Tagged as , ,

Flash(ActionScript3)のTextFieldの話。

TextFieldの高さを内容に合わせる

知りたかったのは、TextFieldの高さを、その内容に合わせて最適な高さにすることができるのか?ということ。
結論から言うと、できたので、まとめておきたいと思います。
要点は以下のようになります。

  • TextFieldにはtextHeightというテキストの高さを取得するパラメータが存在する
  • しかし、実際のTextFieldの高さはtextHeightに上下2pixelずつ足す必要がある

テスト@wonderfl

TextFieldを入力可能にして配置し、その内容の変化に合わせて、高さ調整を行うテストコードを書きwonderflにアップしてみました。

ちょっと問題になったのは、どのイベントで処理を行うか、ということ。
TextEvent.TEXT_INPUTで一見大丈夫そうでしたが、2つの問題が発生しました。
一つ目は、日本語入力で一気に行を超える文字を入力したとき、スクロールの問題が発生すること。しかしこれはEvent.SCROLLでキャッチして、TextField.scrollV=1; と強引に戻すことで対応は可能でした。
二つ目の問題は、BackSpaceキーで削除したときのこと。これは対策が思いつきませんでした。

イベント対応はEvent.CHANGEで

そこで元々キャッチしていたイベント自体が問題なのでは?と思い別のイベントで試したら問題なくTextFieldの高さを更新することができました。
そのイベントとは、Event.CHANGE
これなら日本語の時もBackSpaceで削除したときでも問題なくイベント処理で高さ更新ができました。

テストコード

Wonderflに投稿したコードを以下にも貼り付けておきます。
Read More »