0

の配置に奇妙な問題があります

1) AS で作成した MovieClip()

2) この MovieClip() 内のテキスト フィールド。

1) の問題: MC.x = 0 を設定したとき。MC.y = 0 の場合、movieClip は左上隅に表示されません。

SWFの画像

2) の問題: テキストが縦にも横にも中央揃えされていません。

私のAS3コード:

var button:ButtonMC = new ButtonMC();
button.y = 100;
button.x = 100;
button.width = 260;
button.height = 50;
button.buttonMode = true;
button.useHandCursor = true;
button.mouseChildren = false;

var tf:TextFormat = new TextFormat();
tf.size = 70;
tf.bold = true;
tf.font = "Arial"
tf.color = 0xFFFFFF;

var myText:TextField = new TextField();
myText.defaultTextFormat = tf;
myText.autoSize = TextFieldAutoSize.CENTER;

button.addChild(myText);
myText.text = 'ThisIsATestText1234';
myText.y = button.height * 0.5 - myText.textHeight * 0.5;

addChild(button);
4

2 に答える 2

0

ボタンの高さを取得しようとする時点で myText が既にボタンに追加されているため、計算が台無しになる可能性があります。最初にテキストフィールドを揃えてから、ボタンに追加してみてください。また、スケールを変更するボタンの幅と高さを変更しているため、内部のテキストフィールドの外観と動作にも影響します(ボタンの子になるため)

両方の問題に同時に取り組む最善の方法は、ボタン内に背景クリップを作成し、適切なサイズにすることです。次に、テキストフィールドを作成し、背景に合わせてスケールを調整します。このようにして、ボタンは元のスケールのままで、その中にあるものを台無しにすることはありません.

お役に立てれば。

PS:useHandCursor = true設定時には必要ありませんbuttonMode = true;)

于 2013-01-23T21:02:35.140 に答える
0

これらの行を削除します。

button.width = 260;
button.height = 50;

また、テキストの配置が簡単になります。また、ボタンの高さは追加されたテキストフィールドの影響を受けるため、固定値を使用することをお勧めします。

myText.y = 25 - (myText.height * 0.5);
于 2013-01-23T21:02:41.327 に答える