получаю переменную "speed" из другого класса. нажимаю debug в monoDevelop, он не ругается. Запускаю игру нажимаю "Е" и в консоли появляется такое сообщение:
NullReferenceException: Object reference not set to an instance of an object
takeObject.Update () (at Assets/scripts/takeObject.cs:16)
весь скрипт не работает. Подскажите пожалуйста как исправить?
собственно скрипт:
using UnityEngine;
using System.Collections;
public class takeObject : MonoBehaviour {
public GameObject takingHands;
public Ray _ray;
public RaycastHit _hit;
public float speed;
void Start () {
}
void Update () {
speed = GetComponent<char2>().speed; //////ОШИБОЧНАЯ СТРОЧКА
if (Input.GetKeyUp(KeyCode.E)){
_ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (collider.Raycast(_ray, out _hit, 10)){
//originTransformTakingHands.transform.position = transform.position;
rigidbody.isKinematic = true;
_hit.collider.transform.parent = Camera.main.transform;
transform.position = takingHands.transform.position;
}
}
if (gameObject.transform.parent != null){
if (Input.GetKey(KeyCode.F)){
print ("F - entered");//
transform.parent = null;
rigidbody.isKinematic = false;
gameObject.rigidbody.AddForce(Camera.main.transform.forward * speed, ForceMode.Impulse);
}
}
}
}