2015-04-02 2 views
1

Пытается написать сценарий для Unity, который занимает позицию и поворот игрового объекта A и назначает его игровому объекту B с помощью C#.Поверните игровой объект в Unity

В журнале отладки показан правильный угол поворота, который я хочу получить, но я не знаю, как на самом деле присвоить это значение другому игровому объекту.

Я совершенно новый для C# на сегодняшний день, поэтому он вполне может быть моим синтаксисом, но я также довольно новичок в Unity.

Заранее благодарен!

using UnityEngine; 
using System.Collections; 

public class MoveArrow : MonoBehaviour { 

    void Start() { 
    } 

    void Update() { 
     var playerMapPos = GameObject.FindWithTag ("Player"); 
     var playerWorldPos = GameObject.FindWithTag ("PlayerCube"); 

     Debug.Log ("x: " + playerMapPos.transform.eulerAngles.x); 
     Debug.Log ("y: " + playerMapPos.transform.eulerAngles.y); 
     Debug.Log ("z: " + playerMapPos.transform.eulerAngles.z); 

     playerWorldPos.transform.rotation = Vector3(
      playerMapPos.transform.eulerAngles.x, 
      playerMapPos.transform.eulerAngles.y, 
      playerMapPos.transform.eulerAngles.z 
     ); 
    } 
} 

Я получаю следующее сообщение об ошибке:

Assets/MoveArrow.cs(24,53): error CS0119: Expression denotes a type', where a variable', value' or method group' was expected

ответ

2

Try:

void Update() 
{ 
    var playerMapPos = GameObject.FindWithTag ("Player"); 
    var playerWorldPos = GameObject.FindWithTag ("PlayerCube"); 
    playerWorldPos.transform.rotation = playerMapPos.transform.rotation; 
} 

Причина того, что вы пытаетесь сделать, это не работает, что transform.rotation кватернионов , в то время как transform.eularAngles является Vector3.

+0

hahahah - спасибо! Спасибо! - это смешно для меня, потому что я просто «сделал гору из мухи», когда это было так просто. :) :) лол – Twitch

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