2012年7月10日火曜日

Toolkit for CreateJS オブジェクトのサイズが取れない

EaselJSのバージョンは 0.4.2 available

Flashのステージ上に置いてあるオブジェクトのwidth,heightを
調べるプロパティはドキュメントに書いてないようです。

toolkitから書き出される.jsを見ていた所、
ライブラリが記述される箇所


// symbols:
(lib.mc = function() {
this.initialize();
this.shape = new Shape();
this.shape.graphics.f("#ff0000").p("AEskrIpXAAIAAJXIJXAAIAApX").f();
this.addChild(this.shape);
}).prototype = p = new Container();
p.nominalBounds = new Rectangle(-29.9,-29.9,60,60); 
(lib.grid = function() {
this.initialize(images.grid);
}).prototype = new Bitmap();
p.nominalBounds = new Rectangle(0,0,50,50);

nominalBounds = new Rectangle(-29.9,-29.9,60,60);
というのがありました。Flash上と見比べるにこれのようです。

nominalBoundsというのがなんなのか分かりませんが、
レンダリングの時に使われる描画範囲なのかと予想します。

ということで、Flashのフレームスクリプトからは

/* js
var w = this.mc.nominalBounds.width;
var h = this.mc.nominalBounds.height;
*/

で値が取れます。

と思いきや。
lib.mcの後にセットされているlib.gridの時にnominalBoundsが上書きされてしまい、
mc.nominalBoundsを参照しても、girdの矩形(0,0,50,50)が取れます。。。

ということで、
「width heightの取り方が分からない」という記事になってしまいました。
正解が分かったら、記事を修正します。

0 件のコメント:

コメントを投稿