尝试创建一个带有文本的按钮,似乎找不到一种简单的方法让它们正确定位。我想在构建按钮后,我也可以为文本字段的参数定位按钮的x / y /高度/宽度。但是跟踪(bStart.x)和跟踪(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);
答案 0 :(得分: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相同。