【AS3】FlashDevelop【フリー】 (601レス)
【AS3】FlashDevelop【フリー】 http://mevius.5ch.net/test/read.cgi/swf/1216151218/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
96: Now_loading...774KB [sage] 2009/07/22(水) 14:09:48 ID:3YvZZPep >>95 サイズがどうこうより、400x300のどこに配置したいか、じゃないのん? 例えばこういう書き方じゃダメなのかな これならSpriteのサイズ=Bitmapのサイズになるから、400と300は別の変数で持って利用する感じ var sprite:Sprite = new Sprite(); var bitmapData:BitmapData = new BitmapData(100, 100, false, 0x000000); var bitmap:Bitmap = new Bitmap(bitmapData); //左上に配置 stage.addChild(sprite); sprite.addChild(bitmap); var containerW:int = 400; var containerH:int = 300; //Bitmapを400x300の中央に移動 //bitmap.x = containerW / 2 - bitmap.width / 2; //bitmap.y = containerH / 2 - bitmap.height / 2; //Spriteを400x300の中央に移動 //sprite.x = containerW / 2 - sprite.width / 2; //sprite.y = containerH / 2 - sprite.height / 2; http://mevius.5ch.net/test/read.cgi/swf/1216151218/96
97: Now_loading...774KB [sage] 2009/07/22(水) 21:56:29 ID:uQMeUn4h >>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 が返る。 ※注意・ただしわざわざこんな事するのは必要な時のみ http://mevius.5ch.net/test/read.cgi/swf/1216151218/97
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 504 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s