【AS3】FlashDevelop【フリー】

2008/07/16(水) 04:46:58ID:ahpJufac
FlashのAS3などの総合開発環境。
質問スレなどで結構出ているがスレがないので立てた。
基本英語だが、日本語化できる補助みたいなのもあるらしい。

【必要なソフト】
Flex 3 SDK
ttp://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

JRE1.6
ttp://cowscorpion.com/Library/JREforWindows.html

FlashDevelop
ttp://www.flashdevelop.org/community/viewforum.php?f=11
2009/07/22(水) 14:09:48ID: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;
2009/07/22(水) 21:56:29ID: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 が返る。 ※注意・ただしわざわざこんな事するのは必要な時のみ
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況