【AS3】FlashDevelop【フリー】 (601レス)
上下前次1-新
97(1): 2009/07/22(水)21:56 ID:uQMeUn4h(1) AAS
>>95 DisplayObjectの中にDisplayObjectをaddChildした時、
子の方の座標は親からの相対=ローカル座標になるんじゃなかったっけ?
ただし、「この領域内」 っていう、他の言語で言うクリッピング領域がデフォルトで存在しない=自分のサイズを持っていないので、
例えば 400x300 (のつもりの) Sprite内で、800, 600 の位置に子を配置して、しかも表示されてしまい、
さらに、800,600 の位置にあるその子のサイズを 100x100 とした時、
気持ちの上では 「親のサイズは900,700であって欲しい」のに、値を取得すると100x100と返ってきてしまう!
ここが、なんか最初戸惑ってしまう所なんだよな。 自分のサイズが中身に依存している/依存した値しか無い。
そんな訳で俺の場合、明示的にどうしてもサイズが必要ならこうしてる
var oya:Sprite = new Sprite();
var ko:Sprite = new Sprite();
ko.width = 1; ko.height = 1;
ko.graphics.beginFill(0xffffff, 0.0); // サイズ1ピクセルのアルハァ0の矩形を0,0に
ko.graphics.drawRect(0, 0, 1, 1);
ko.graphics.endFill();
oya.addChild(ko);
var bm:Bitmap = new Bitmap(new BitmapData(100, 100));
bm.x = 800;
bm.y = 600;
oya.addChild(bm);
これで、親のサイズ披露とちゃんと 900,700 が返る。 ※注意・ただしわざわざこんな事するのは必要な時のみ
上下前次1-新書関写板覧索設栞歴
あと 504 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.014s