2016-08-19 2 views
1

Я создаю видеоигру в единстве, и для выбора уровня мне нужно установить положение x и y объекта GameObject в положение x и y кнопки.Как назначить позицию x и y GameObject?

Я попытался это code-

if (gameObject.CompareTag("Level1")) { 

     float xPos = gameObject.transform.position.x; 
     float yPos = gameObject.transform.position.y; 

     levelWindow.SetActive(true); 
     levelTitle.text = "One- Dunes of Coral"; 
     levelDescription.text = "Begin your ocean voyage in the safe haven of the Hawaiian coral reefs..."; 
     levelWindow.transform.position.x = xPos; 
     levelWindow.transform.position.y = yPos; 
} 

Но я получаю сообщение об ошибке, как this-

Активы/Scripts/LevelTapScript.cs (21,39): ошибка CS1612: Не удается изменить value type возвращаемое значение `UnityEngine.Transform.position '. Рассмотрим сохранения значения во временной переменной

Мой вопрос как установить х и у позиции levelWindow (который является объектом игры) с помощью моих XPOS и YPos плавает? Джордж :) Благодарения и

ответ

2

Вы должны создать временную Vector3 переменную, изменить ось х затем присвоить его обратно в Transform.position.

if (gameObject.CompareTag("Level1")) 
    { 

     float xPos = gameObject.transform.position.x; 
     float yPos = gameObject.transform.position.y; 

     Vector3 newPos = new Vector3(xPos,yPos,0); 

     levelWindow.SetActive(true); 
     levelTitle.text = "One- Dunes of Coral"; 
     levelDescription.text = "Begin your ocean voyage in the safe haven of the Hawaiian coral reefs..."; 
     levelWindow.transform.position = newPos; 
     levelWindow.transform.position = newPos; 
    } 

Обратите внимание, что z pos будет 0, когда вы это сделаете.

1

Две вещи:

Один из них, по вопросам единства, рассмотреть вопрос об использовании https://gamedev.stackexchange.com/

Два, вы не можете напрямую установить значения позиций преобразований. То, что вы должны сделать что-то вроде:

levelWindow.transform.position = new Vector3(xPos,yPos,0); 
+0

Ничего себе. Я так глуп, я не могу поверить, что забыл об этом. Также я рассмотрю использование GameDev. Благодаря :) –

Смежные вопросы