2014年4月23日水曜日

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

ちょっとハマったので、備忘録。

Spriteなどにマスクをかける時にマスクが反映されない時がありました。


// ゲージのようなものを作る時に、マスクが必要になりました
var mask:Shape = new Shape();
g = mask.graphics;
g.beginFill(0xffffff);
g.drawRoundRect(0, 0, _GAUGE_WIDTH, _GAUGE_HEIGHT, _GAUGE_ELLIPSE * 2);
g.endFill();

var gaugeContainer:Sprite = new Sprite;
gaugeContainer.mask = mask;
gaugeContainer.addChild(mask);    // ←mask自体をaddChildしないと反映されませんでした

2014年3月12日水曜日

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

コードに「あとで消す」とかコメントで書いて後で消さないこととか結構あります。
っていう人にはオススメ。
(eclipseオンリーですが)


FBToolkit
コードに任意の文字列が書いてあればリスト化してくれるツールです。

リポジトリ
http://www.winnemconsulting.com/fbtoolkit/update/
ここからインストールする。

FlashBuilderなら
「ヘルプ」 →「 新規ソフトウェアをインストール」
からインストールできます。

登録した文字列があれば「タスク」ウィンドウにリスト表示されます。


2014年3月6日木曜日

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

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

as3corelibライブラリのjsonデコーダー・エンコーダー
https://code.google.com/p/as3corelib/

com.adobe.serialization.jsonパッケージでは、
JSON.decode(json)    // JSON to Object
JSON.encode(Object) // Object to JSON

defaultパッケージのJSONクラスでは、
JSON.parse(json)    // JOSON to Object
JSON.stringfy(Object)    // Object to JSON


というかんじでできる。

2014年1月21日火曜日

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

ちょっとハマったので、備忘録。


以下のように直接書き換えることはできないっぽい。

var sprite:Sprite = new Sprite();
sprite.transform.colorTransform.color = 0x00FF00;

一度ColorTrandformオブジェクトを作成してからそれを入れるようにするとうまいこといった。

var sprite:Sprite = new Sprite();
var colorTransform:ColorTransform = new ColorTransform();
colorTransform.color = 0x00FF00;
sprite.transform.colorTransform = colorTransform; 

2014年1月8日水曜日

FlashBuilder(eclipse)で"java heap space"

FlashBuilderを触っていて重いモジュールのコーディングを行っている時に、
"java heap space"
という名のエラーが出た。

「重すぎてメモリが足りない」っていうエラー。
これを回避するために方法を探していたら以下のサイトにあった。

Applications/Adobe Flash Builder 4.6/Adobe Flash Builder 4.6.app/Contents/MacOS
にある
"Adobe Flash Builder 4.6.ini"というファイルにメモリの容量を記述する箇所があり、それを編集すれば良いみたい。


-Xms256m // 初期ヒープサイズの指定。空きメモリーの80%くらいがよい。
-Xmx512m // 最大ヒープサイズの指定。初期ヒープサイズと同じがよい。
-XX:MaxPermSize=256m // クラス定義やメソッド、フィールドなどのメタデータが格納されます。
-XX:PermSize=64m

ここを編集すればいいみたいー