【AS3】オブジェクトが空かどうか
オブジェクトがnullではないが、空であるかどうかを調べたい場面が出た時
for in ループを使ってオブジェクトを判定します。
/** * オブジェクトが空かどうかを判定します * @param targetObj 判定したいObject * */ function checkObjectEmpty(targetObj:Object):Boolean { for (var key:String in targetObj) { // オブジェクトにプロパティがあればここを通るのでfalseを返す return false; } return true; }
ぱっと思いついたこの方法でいけるはずですが、他にもっといい方法がありそうな気はします。
サブディレクトリを含む全てのファイルの名前を一括置換[ターミナル]
ファイルの名前を一括で変換したい時
ターミナルから一気に変換することが出来ます。
ターミナルは以下にあります。
アプリケーション/ユーティリティ/ターミナル
ターミナルを起動して、以下のコマンドを入力 ([]の部分は自分の環境に合わせて入力してください)
cd [変更したいディレクトリ] find . -type f -print0 | while read -r -d '' file; do mv "$file" "${file/[変更したい文字列]/[変更後の文字列]}"; done
これでできます。
参考にしたサイト
http://uguisu.skr.jp/Windows/find_xargs2.html
【AS3】DisplayObjectにマスクをかける注意点
ちょっとハマったので、備忘録。
Spriteなどにマスクをかける時にマスクが反映されない時がありました。
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しないと反映されませんでした
FlashBuilder(eclipse)で手軽にコードにマーキングできるツール
AS3:ActionScript3.0でJSONデコード・エンコード
FlashPlayer11からネイティブでJSONを扱えるようになったので、従来とは異なる方法でエンコード・デコードが行えるようになった。
やり方が2種類あるので、デコード・エンコード部分だけでもごちゃごちゃにならにようにまとめておく。
やり方が2種類あるので、デコード・エンコード部分だけでもごちゃごちゃにならにようにまとめておく。
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
というかんじでできる。
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;
FlashBuilder(eclipse)で"java heap space"
「重すぎてメモリが足りない」っていうエラー。
これを回避するために方法を探していたら以下のサイトにあった。
これを回避するために方法を探していたら以下のサイトにあった。
Applications/Adobe Flash Builder 4.6/Adobe Flash Builder 4.6.app/Contents/MacOS
にある
"Adobe Flash Builder 4.6.ini"というファイルにメモリの容量を記述する箇所があり、それを編集すれば良いみたい。
にある
"Adobe Flash Builder 4.6.ini"というファイルにメモリの容量を記述する箇所があり、それを編集すれば良いみたい。
-Xms256m // 初期ヒープサイズの指定。空きメモリーの80%くらいがよい。
-Xmx512m // 最大ヒープサイズの指定。初期ヒープサイズと同じがよい。
-XX:MaxPermSize=256m // クラス定義やメソッド、フィールドなどのメタデータが格納されます。
-XX:PermSize=64m
ここを編集すればいいみたいー