Помогите решить ошибку в коде C#
Выдает такую ошибку:CS0131 The left-hand side of an assignment must be a variable, property or indexer.
Выдает ошибку здесь:
GUI.BeginGroup(new Rect(Screen.width / 2 - 300, Screen.height / 2 = 300, 600, 400));
Код:
void ShowValues()
{
GUI.BeginGroup(new Rect(Screen.width / 2 - 300, Screen.height / 2 = 300, 600, 400));
GUI.Box (new Rect(0,0,600,400), "Controls");
GUI.Label (new Rect (205, 40, 20, 20), "PC");
GUI.Label (new Rect (340, 40, 125, 20), "Xbox 360 Controller");
GUI.Label (new Rect (25, 75, 125, 20), "Movement: ");
GUI.Button (new Rect (150, 75, 135, 20), PC_Move);
GUI.Button (new Rect (325, 75, 135, 20), Xbox_Move);
GUI.Label(new Rect (25, 100, 125, 20), "Rotation: ");
GUI.Button(new Rect (150, 100, 135, 20), PC_Rotate);
GUI.Button (new Rect (325, 100, 135, 20), Xbox_Rotate);
GUI.Label (new Rect (25, 125, 125, 20), "Item 1: ");
GUI.Button(new Rect (150, 125, 135, 20), PC_Item1);
GUI.Button (new Rect (325, 125, 135, 20), Xbox_Item1);
GUI.Label (new Rect (25, 150, 125, 20), "Item 2: ");
GUI.Button(new Rect(150,150,135,20), PC_Item2);
GUI.Button(new Rect (325, 150, 135, 20), Xbox_Item2);
GUI.Label (new Rect (25, 175, 125, 20), "Item 3: ");
GUI.Button (new Rect (150, 175, 135, 20), PC_Item3);
GUI.Button (new Rect(325, 175, 135, 20), Xbox_Item3);
GUI.Label (new Rect (25, 200, 125, 20), "Item 4: ");
GUI.Button (new Rect (150, 200, 135, 20), PC_Item4);
GUI.Button (new Rect (325, 200, 135, 20), Xbox_Item4);
GUI.Label (new Rect (25, 225, 125, 20), "Inventory: ");
GUI.Button (new Rect(150, 225, 135, 20), PC_Inv);
GUI.Button(new Rect (325, 225, 135, 20), Xbox_Inv);
GUI.Label(new Rect(25, 250, 125, 20), "Pause Game: ");
GUI.Button(new Rect(150,250,135,20), PC_Pause);
GUI.Button(new Rect(150,250,135,20), Xbox_Pause);
GUI.Label(new Rect(25,275,125,20), "Attack/Use: ");
GUI.Button(new Rect(150,275,135,20), PC_AttackUse);
GUI.Button(new Rect(150,275,135,20), Xbox_AttackUse);
GUI.EndGroup();
}
}
Равно замени на минус
неправильно
неуч
ахахаххахааа
Да, спасибо помогло
Ошибка “CS0131 The left-hand side of an assignment must be a variable, property or indexer” возникает из-за того, что вы пытаетесь присвоить значение в выражении, которое не является переменной. В строке GUI.BeginGroup(new Rect(Screen.width / 2 - 300, Screen.height / 2 = 300, 600, 400)); проблема в части Screen.height / 2 = 300.
Вы пытаетесь присвоить значение 300 к Screen.height / 2, что недопустимо в этом контексте. Чтобы исправить это, вы должны создать новую переменную и присвоить ей значение Screen.height / 2 - 300:
void ShowValues()
{
// Создайте новую переменную для Y-координаты
float y = Screen.height / 2 - 300;
// Используйте переменную y в Rect
GUI.BeginGroup(new Rect(Screen.width / 2 - 300, y, 600, 400));
// ... остальной код
GUI.EndGroup();
}
В этом коде мы создаем переменную y, которая хранит значение Y-координаты. Затем мы используем y в качестве второго параметра для GUI.BeginGroup.
Объяснение:
В строке Screen.height / 2 = 300 вы пытаетесь присвоить значение 300 результату вычисления Screen.height / 2. Но в C# оператор = используется только для присваивания значений переменным.
Screen.height / 2 не является переменной, а результатом вычисления. Поэтому вы не можете присвоить ему значение.
Вы должны создать переменную, чтобы сохранить результат вычисления, а затем использовать эту переменную в GUI.BeginGroup.
Надеюсь, это поможет!