0

テキストを使用してボタンを作成しようとすると、ボタンを適切に配置する簡単な方法が見つからないようです。ボタンを作成した後、テキストフィールドのパラメータに対してもボタンのx / y / height/widthをターゲットにできると考えました。しかし、trace(bStart.x)とtrace(bStart.y)はどちらも0を返します。何が間違っているのでしょうか。

私が持っているもの:

var bFormat:TextFormat = new TextFormat();
bFormat.font = "Arial";
bFormat.bold = true;
bFormat.color = 0x000000;
bFormat.size = 28;
bFormat.align = "center";

var bStart:Sprite = new Sprite();
bStart.graphics.beginFill(0X00FF00, 1);
bStart.graphics.drawRect(stage.stageWidth / 2 - 100, stage.stageHeight / 2 - 200, 100, 50);
bStart.graphics.endFill();
bStart.buttonMode = true;
bStart.mouseChildren = false;

var bStartText:TextField = new TextField();
bStartText.defaultTextFormat = bFormat;
bStartText.text = "Start";
bStartText.x = bStart.x;
bStartText.y = bStart.y;
bStartText.height = bStart.height;
bStartText.width = bStart.width;

stage.addChild(bStart);
bStart.addChild(bStartText);
4

1 に答える 1

1

bStart の x&y を変更していないため、x&y の開始点から描画しているだけなので、Sprite オブジェクト自体はまだ 0,0 です。

これを試して

...
bStart.graphics.drawRect(stage.stageWidth / 2 - 100, stage.stageHeight / 2 - 200, 0, 0);
bStart.graphics.endFill();
bStart.x = 100;
bStart.y = 50;
...

また、スプライト内にテキストを追加する場合、スプライトと同じ座標を持つため、テキスト x、y を同じに設定する必要はありません。

于 2013-03-18T17:04:53.257 に答える