ActionScriptの最近のブログ記事

removeChildやってる箇所でこんなエラーがでた。

#2025: 指定した DisplayObject は呼び出し元の子でなければなりません。

removeChildしてるDisplayObjectはnullチェックしていたのだがクラスの中でグローバル変数としてつかっていてインスタンスはずっと存在しているのでチェックは通ってしまっていたらしい。

removeChildしたいDisplayObjectがhoge_childだとするとこの場合は hoge_child.parent でチェックすると回避できた

if((hoge_child)&&(huge_child.parent)){
   hoge_sprite.removeChild( hoge_child );
}


FlashPlayer10.2でMacSafari環境でFileReference.uploadで複数ファイルのアップロード時に途中でIOErrorEventが起るという訳のわからん現象が発生。FirefoxやWindows環境ではそんなことは起らんしそもそも10.1まではちゃんと動いていた。
IOErrorEventが起きたときはEnterFrameでフレームを一つ進めてアップロードし直すとうまくアップロードしたいファイルを全部アップロードできた。ちなみにEnterFrameで1フレーム動かさないとずっとエラーのままでした。MacのFileReferenceはいろいろあるなあ。

[読書状況]辞書的な使用

AS3(ActionScript3)を始めるとついてまわるのがエラー。
AS2以前特にタイムラインにスクリプト書いてた頃の間違いがあってもエラーもでずパブリッシュできてしまいエラーの場所を探すのも一苦労な状況からAS3になってエラー出力は大幅に改善したのだけれど、いまいちエラーで出力されるIDとメッセージの意味がわからない。
そんなことはずっと思っていたところでた本がこの本。エラー逆引きリファレンス的な本で販売開始からちょっと時間たった今でも他にはないんでないかな。
エラーの意味がはっきりわかり非常に重宝してます。エラーの出し方の例文もあるのがまた良いですね。コンパイル時のエラーとランタイムエラーでIDがかぶったりもするんでそこはちょっと注意。

TLFTextField

| コメント(0) | トラックバック(0)
FlashCS5に追加されたTLFテキストをASで制御するのはTLFTextField(fl.text.TLFTextField )ってのを使えばOK。
これどうやってASで扱うんだろとちょっと調べてしまったのでメモ。
手っ取り早くTLF使ってみるには良いとおもわれます。

参考
ActionScript 3.0から見るFlash Professional CS5
01 TLFテキスト
Airでローカルアプリを使う時にローカルのデータを扱う時って
SQLite使えるんだけどSQL文書くのが結構めんどい。
そんなに複雑なことにはつかわなそうなんだけどAsの中にString型のSQL文が入ってると結構醜かったりするなあと思って便利なものないかなあと探してみるとAirRecordというAdobeのサイトに紹介されていたものが良さそう。

ADB開発中!Adobe Developer Box 開発日記 連載4) AIRによるActiveRecordの実装


実際ちょっと試して見たんだけどほとんどSQL文かかずにDB連携ができました。
DB作る最初の部分でちょこっとあったくらい。
去年の末(12/30)にFlashの勉強会に参加しました。
mixiのコミュFlashとおやつの会 の108つの煩悩とおやつの会というイベントで
主催の水玉製作所さんのお部屋をお借りしておやつを持ち合いながら各自必ずなにか必ず発表するというもの。
自分で発表する機会って大事だなと改めて思いました。



縦組みとか段落とか従来のTextFieldよりかなり細かく設定できそうなText Layout Frameworkを試してます。
まだ正式版でないようで仕様もいろいろかわってるようです。

先日TextFilter(flashx.textLayout.conversion.TextFilter)がTextConverter(flashx.textLayout.conversion.TextConverter)
に変更されててちょっとはまりました。
僕の場合FlashCS4で試してるんですがSWCファイルも以前は複数あったのがtextLayout.swcの一つになったらしく、古いswcも読み込ませていたのも結構はまったところです。
ちなみに新しいtextLayout.swcを試す場合はFlexSDK4の試したいバージョンのSDKをここからダウンロードして解凍後flex_sdk_フォルダの\frameworks\libsにあるtextLayout.swcをFlashPro4のActionScript3.0設定のライブラリパスで指定してやればOKです。


Adobe AIR Day

| コメント(0) | トラックバック(0)
先日AdobeAIR DAYという次期AIR2.0の話を中心としたセミナーにいってきました。
最近はTwitterのハッシュタグとセミナーを連動されることが多いみたい。
主催の方からTwitterにつぶやいてくださいといってました。
ハッシュタグのこといまいち理解できてないのですがこちらで一括で見れました#AIRDAY

Progresssion4メモ

| コメント(0) | トラックバック(1)
ようやっとProgression3を使い始めていたところProgression4のPublic Beta版リリース。 せっかくだからということでProgression3のクラススタイルで作り始めてたものをProgresssion4へ。 まだまだ理解が不足しているんですが表示関係でProgression3では動作してた部分で以下のエラーがでてはまりました。

RangeError: Error #2006: 指定したインデックスが境界外です。

今のところ以下の下の行のようにしたところ動作してます。
根本的にまだProgressionがわかってない感はあるんで別の方法がある気が・・
× new AddChild( container, hogeSprite)
○ new AddChildAt( container, _albumBackPage, container.numChildren )


mixiアプリを作ってたんでサーバーアップしてデバッガで値とか調べてるのもちょっと手間取ってる原因かもなあ。
次回のF-siteセミナー超!濃ゆい ActionScript の日~つくるために創る!、最近AS3も大分覚えてきてるので個人的にはすごいたのしみです。申し込みは9/30より。

demo1「ActionScriptでつくるActionScriptエディター」吉川佳一@BOW氏(50分)
 高速で軽量な文字比較ルーチンによるリアルタイムのカラーリングを実現する方法を
 お見せします。
 AS製の利点としてFlashパネルやAIRアプリケーションやWebブラウザーなど
 いろいろなところで動くデモを実演予定。
 
demo2「フレームワーク"の"作り方」阿部貴弘@Progression氏(50分)
  普段使っているフレームワークの"中身"が一体どのように設計されているのか?
 先日公開された Progression 4 Public Beta を使って新機能を紹介しつつ、それらが
 どのように実装されているのかを実際のデモやコードを交えて解説します。
 内容的にも ActionScript 3.0 ライブラリを作る上での設計の話から、Flash の(ド
 キュメントにも載ってない)拡張機能の話、JSFL で ActionScript 3.0 風コンパイラ
 を作る話など、広くディープにご紹介する予定です。
 
demo3「サイトを作るツールを作るでござる、の巻。」Saqoosha氏(50分)
 最近ぼくがやった仕事のいくつかはサイト内で使用するデータを作るためのAIRアプリを
 作るところから始まっています。このAIRアプリの出来がサイトのクオリティを決めると
 いってもよいかもしれません。そんなサイト、アプリがどんなふうに考え、作られたのか
 実際の制作データを元に解説します。