Hatena::ブログ(Diary)

satoru.netの自由帳 このページをアンテナに追加 RSSフィード

081105Wedday

[][]flashでヒアドキュメント風な記述方法

用途

しらなかったー。

Flashのasで文字列の連結なんかでズラズラ面倒なときに使えるTips

ソース

var mapData = <![CDATA[
XXXXXXXXXXXXXXXX
X0000000000000000X
XXXXXXXXXXXXXXXX
]]>.split(/\r\n/);

for(var i in mapData){
	trace(i + ":[" + mapData[i] + "]")
}

/*
結果
0:[XXXXXXXXXXXXXXXX]
1:[X0000000000000000X]
2:[XXXXXXXXXXXXXXXX]
*/

メモ

perl だと、<<"EOF"、php だと <<<EOF ってする便利なヒアドキュメント的な書き方を、

Flashでもできないかなーってずっと思ってたんだけど、どうやらできるっぽい。

知らなかったんだけど「ActionScriptCDATA セクションを文字列として取り扱う」らしい。

だけど、そのままだと、改行コード(\r\n)が入って使えないので、splitとfilterで除外して取り出せばOK!

色々、使えそうなtipsだと思ったのでメモ!φ(`д´)メモメモ...


他にもこんなのあるよ〜、とかあったら、米欄でおしえて!

トラックバック

http://unbland.net/blog/2008/10/28/167.html

080510Satday

[][]はーーん!

AS3でwavファイルをEmbedしたりエフェクトかけたり(要POPFORGE) (memo.kappa-lab.com)

 [Embed(source="wav/siren_short.wav", mimeType="application/octet-stream")]
    public static const Song:Class;

の記述の仕方ってそういえば使った事なかった!やってみよふ。

080509Friday

[][]指定座標を中心にMovieClipインスタンスを回転する関数

import flash.display.DisplayObject;
import flash.geom.Matrix;
import fl.motion.MatrixTransformer;

// xRotateAt(): 指定座標を中心にMovieClipインスタンスを回転する関数
// 戻り値: なし
// 引数: ターゲットインスタンス, x座標値, y座標値, 回転角
function xRotateAt(target:DisplayObject, nX:Number, nY:Number, nDegree:Number):void {
  var myMatrix:Matrix = target.transform.matrix;
  MatrixTransformer.rotateAroundInternalPoint(myMatrix, nX, nY, nDegree);
  target.transform.matrix = myMatrix;
}

星をぐるぐるまわすのに使った

[][]いくつあるかわからない複数の数の最大値・最小値をMath.max()/Math.min()で求める方法

Math.max(1,2,3)

は、当然、3。

var hoge = [1,2,3]
Math.max(hoge)

は、悲しいことにNaN。つまりMath.maxに単純に配列を渡すだけじゃ、期待した動作をしてくれないって事。

var hoge = [1,2,3]
Math.max(hoge[0],hoge[1],hoge[2])

にせんといかんらしい。アホか。

と、思って調べてたら

いくつあるかわからない複数の数の最大値・最小値をMath.max()/Math.min()で求める方法 - ConquestArrow.addEventListener(); - actionscriptグループ

にて言及してた

var hoge = [1,2,3]
Math.max.apply(null, a)

ってやればいいらしい。

最初からこういう仕様になってればいいのに。せめて、ヘルプにかいとてくれればいいのにー。o(`ω´*)oプンスカプンスカ!!


作者さんには感謝。

©satoru.net
Mail Twitter