2015-01-19 2 views
0

Я изучаю C# и Unity3D с «Изучением C# путем разработки игр с Unity #D Beginner's Guide» Терри Нортона, и я заблокирован ошибкой.Доступ к методу transform.Rotate в пользовательском классе?

У меня возникли проблемы с доступом к методу transform.Rotate через пользовательскую переменную класса.

Ниже приведена ошибка.

активов/Код/государство/SetupState.cs (26,76): ошибка CS1061: Тип PlayerControl' does not contain a definition for transfrom 'и не расширения метода transfrom' of type PlayerControl' можно найти (вы недостающие с помощью директивы или ссылка на сборку?)

SetupState.cs, государство, которое пытается получить доступ к transform.Rotate по типу variab PlayerControl le контроллер.

using UnityEngine; 
using Assets.Code.Interfaces; 
using System.Collections; 

namespace Assets.Code.States 
{ 
    public class SetupState : IStateBase 
    { 
     private StateManager manager; 
     private GameObject player; 
     private PlayerControl controller; 

     public SetupState (StateManager managerRef) 
     { 
      manager = managerRef; 
      if(Application.loadedLevelName != "Scene0") 
       Application.LoadLevel("Scene0"); 

      player = GameObject.Find ("Player"); 
      controller = player.GetComponent<PlayerControl>(); 
     } 

     public void StateUpdate() 
     { 
      if (!Input.GetButton ("Jump")) 
           controller.transfrom.Rotate (0, controller.setupSpinSpeed * Time.deltaTime); 
      //above tries to access transform.Rotate via controller 
     } 

     public void ShowIt() 
     { 
      GUI.Box (new Rect (10, 10, 100, 180), "Player Color"); 

      if (GUI.Button (new Rect (20, 40, 80, 200), "Red")) 
           controller.PickedColor (controller.red); 

      if (GUI.Button (new Rect (20, 70, 80, 200), "Blue")) 
       controller.PickedColor (controller.blue); 

      if (GUI.Button (new Rect (20, 100, 80, 200), "Green")) 
       controller.PickedColor (controller.green); 

      if (GUI.Button (new Rect (20, 130, 80, 200), "Yellow")) 
       controller.PickedColor (controller.yellow); 

      if (GUI.Button (new Rect (20, 160, 80, 200), "White")) 
       controller.PickedColor (controller.white); 

      GUI.Label (new Rect (Screen.width/2 - 95, Screen.height - 100, 190, 30), 
         "Hold Spacebar to pause rotation"); 

      if (GUI.Button (new Rect (Screen.width/2 - 100, Screen.height - 50, 200, 40), 
          "Click Here or Press 'P' to Play") || Input.GetKeyUp (KeyCode.P)) 
           manager.SwitchState (new PlayStateScene1_1 (manager)); 
     } 
    } 
}  

PlayerControl.cs, определение класса класса PlayerControl очевидно.

using UnityEngine; 
using System.Collections; 

public class PlayerControl : MonoBehaviour { 
    public float setupSpinSpeed = 50.0f; 

    public Color red = Color.red; 
    public Color blue = Color.blue; 
    public Color green = Color.green; 
    public Color yellow = Color.yellow; 
    public Color white = Color.white; 

    void Start() { 
    } 

    void Update() { 

    } 

    public void PickedColor(Color playerColor){ 
     renderer.material.color = playerColor; 
     } 
} 

В книге говорится, что связывающая сценария PlayerControl.cs с 3D игры объекта это единственное, что мне нужно сделать, чтобы получить доступ к метод transform.Rotate и я сделал ссылку PlayerControl.cs и игровой объект «Игрок» вместе. http://i.imgur.com/0oH9hYs.png // Кажется, что я еще не могу загрузить изображения.

Я не носитель языка на английском языке, а книга переведена на корейский, поэтому некоторые термины, вероятно, используются неадекватными способами, поэтому извините меня за это. И вопрос - немой нуб, но, пожалуйста, будь хорошим помощником парня, спасибо.

ответ

0

Ваш скрипт PlayerControl связан с игровым объектом GameObject. Таким образом, вы можете получить доступ к трансформируемому свойству Player GameObject, выполнив:

контроллер. геймобжекты .transform.Rotate

проверка в MonoBehaviour документации геймобжекты собственности

+0

Все еще не работает. Можете ли вы проверить http://i.imgur.com/0oH9hYs.png для меня, посмотрите, правильно ли она связана? Thx –

+0

Я пробовал преобразовать ... Тупой меня. –

0

Ответ на немой вопрос, который преследовал меня является написание преобразования прав.

Извините за беспокойство по чтению парней и thx.

+0

Получите лучшую IDE. –