2016-08-19 14 views
1

私は1つのビデオゲームを作成しています。レベル選択のために、GameObjectのxとyの位置をボタンのxとyの位置に設定する必要があります。GameObjectのxとyの位置はどのようにして割り当てられますか?

私はこれが

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-

資産/スクリプト/ LevelTapScript.cs(21,39)のようなエラーが出る:エラーCS1612を:変更できません。値の型は `UnityEngine.Transform.position 'の戻り値です。私の質問は、私は私のXPOSを使用して(ゲームオブジェクトである)levelWindowのxとyの位置を設定し、YPOSが浮かぶんかで一時変数

に値を格納考えてみましょうか? Thanks-ジョージ:)

答えて

2

:何がしなければならないことのようなものです。

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

2つのこと:

一つは、ユニティの質問のために、https://gamedev.stackexchange.com/

つを使用することを検討して、あなたは直接変換の位置の値を設定することはできません。あなたが戻ってTransform.positionに割り当て、その後、一時的なVector3変数を作成するx軸を変更する必要が

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

うわー。私はとてもばかげている、私はそれを忘れて信じられない。また、私はGameDevの使用を検討します。ありがとう:) –

関連する問題