Почему при изменении ширины кнопки меняется положение кнопки?

#c# #unity3d

#c# #unity3d

Вопрос:

 var w1 = 450;
var h1 = 150;
Rect rect1 = new Rect((Screen.width-w1)/2, (Screen.height-h1)/2   100, w1, h1);

if (GUI.Button (new Rect (rect1.x, rect1.y, 150, 20), "GENERATE RANDOM NUMBERS")) {

            }
  

Когда w1 и h1 были равны 150, они находились в середине экрана 100 по высоте, но текст внутри кнопки не отображался полностью. Итак, я хотел изменить ширину кнопки. Итак, я изменил w1 со 150 на 350, а затем на 450, но это не изменило ширину кнопки, просто переместило кнопку.

Комментарии:

1. Вы не должны использовать это для кнопки. Вам нужно использовать компонент кнопки из новой системы пользовательского интерфейса.

Ответ №1:

Я мало что знаю о Unity3D, но, похоже, в этой строке:

 Rect rect1 = new Rect((Screen.width-w1)/2, (Screen.height-h1)/2   100, w1, h1);
  

которое вы используете w1 для значения x-позиции. Это означало бы, что, изменив это значение, вы сдвинете прямоугольник.