ActionScript

【AS3】オブジェクトが空かどうか

オブジェクトがnullではないが、空であるかどうかを調べたい場面が出た時 for in ループを使ってオブジェクトを判定します。 /** * オブジェクトが空かどうかを判定します * @param targetObj 判定したいObject * */ function checkObjectEmpty(targetObj:Ob…

【AS3】DisplayObjectにマスクをかける注意点

ちょっとハマったので、備忘録。Spriteなどにマスクをかける時にマスクが反映されない時がありました。// ゲージのようなものを作る時に、マスクが必要になりましたvar mask:Shape = new Shape();g = mask.graphics;g.beginFill(0xffffff);g.drawRoundRect(0…

FlashBuilder(eclipse)で手軽にコードにマーキングできるツール

コードに「あとで消す」とかコメントで書いて後で消さないこととか結構あります。っていう人にはオススメ。(eclipseオンリーですが)FBToolkitコードに任意の文字列が書いてあればリスト化してくれるツールです。リポジトリhttp://www.winnemconsulting.com…

AS3:ActionScript3.0でJSONデコード・エンコード

FlashPlayer11からネイティブでJSONを扱えるようになったので、従来とは異なる方法でエンコード・デコードが行えるようになった。やり方が2種類あるので、デコード・エンコード部分だけでもごちゃごちゃにならにようにまとめておく。as3corelibライブラリの…

AS3:ColorTransformでディスプレイオブジェクトの色を変更する

ちょっとハマったので、備忘録。以下のように直接書き換えることはできないっぽい。var sprite:Sprite = new Sprite();sprite.transform.colorTransform.color = 0x00FF00;一度ColorTrandformオブジェクトを作成してからそれを入れるようにするとうまいこと…

FlashBuilder(eclipse)で"java heap space"

FlashBuilderを触っていて重いモジュールのコーディングを行っている時に、"java heap space"という名のエラーが出た。 「重すぎてメモリが足りない」っていうエラー。これを回避するために方法を探していたら以下のサイトにあった。http://d.hatena.ne.jp/t…

Starlingを始める

Starlingとは、stage3Dで2D描画で扱いやすく作られたフレームワークです。 stage3Dではハードウェアアクセラレーションで高速なGPU描画が可能となります。 airアプリプロジェクトを作ってみたらはまったからメモ。webアプリケーションの設定でプロジェクトを…

テンプレートメソッド、ファクトリーパターン

テンプレートメソッドパターン大本の汎用的なアルゴリズムを記述したテンプレートクラス抽象インターフェースpackage factory{ public interface IField { // 「フィールドを描く」というメソッドを定義 function drawField():void; }}実装クラスpackage fac…

シングルトンパターン

デザインパターンの勉強を始めたので、その勉強録です。まともに今までデザインパターンを勉強したことがなく、なんとなくソース読んで、似たような仕様で書くっていうのを今まで繰り返してました。インターンの時にシングルトンを全く意味不明なまま使って…

AS3でカスタムイベント

Flash開発する上ではイベントの処理は必要ですよね。 僕はFlashを勉強し始めて、二週間ちょっとですが、もう何回使ったかわかりません。 そのくらい頻繁に用いるイベント処理。 ゲームを制作する時とかは自分でイベントを作りたくなります。 「着地した瞬間…

FlashからJSON書き出し

pre { font-size: 1px; } タイトルの通り、FlashからJSONファイルの書き出しをやってみました。今回は、「Flashからphpファイルに値を渡して、それをJSON形式で書き出す」という流れです。こちらのサイトにphpとFlashの連携方法が書かれていたので、そちらを…

for each

var mc1:MovieClip = new MovieClip();mc1.name = 'material';var mc2:MovieClip = new MovieClip();mc2.name = 'furniture';var mc3:MovieClip = new MovieClip();mc3.name = 'instant';var obj:Object = { material: mc1, furniture:mc2, instant:mc3};tra…

as3でlzma圧縮

FlashPlayer11.3から搭載された新機能。今まではzip圧縮しかできなかったのが高効率のlzma圧縮も対応できるようになっているらしい。Adobe純正の flex sdk4.6 では compress('lzma') に対応していなくて、コードから直接読み込むのは不可能でした。flex sdk…