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;
...

如果您在 Sprite 中添加文本,它将具有与 sprite 相同的坐标,因此无需将文本 x,y 设置为相同。

于 2013-03-18T17:04:53.257 回答