Добрый день. Я тут начал делать очень простой скрипт и столкнулся с проблемой.
Код
using UnityEngine;
using System.Collections;
public class PlayerManager : MonoBehaviour
{
private ObjectManager ojm;
public int playerDamge = 10;
void Start ()
{
}
void Update ()
{
if(Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width/2,Screen.height/2,0));
bool isHit = Physics.Raycast(ray, out hit, 1000);
if(isHit == true)
{
Debug.Log(hit.transform.tag);
}
if(hit.transform.tag == "Objectgame")
{
//Отнимаю здоровье у объекта
ojm.Health -= playerDamge;
//Здесь выдает ошибку.
}
}
}
}
Данный скрипт бросает луч и должен наносить урон объекту с Тегом Objectgame
Код
using UnityEngine;
using System.Collections;
public class ObjectManager : MonoBehaviour {
public int Health = 100;
void Start ()
{
Health = 100;
}
void Update ()
{
if(Health < 0)
{
Destroy(gameObject);
}
}
}
Вот тут происходит уничтожение объекта если счетчик Health меньше нуля.
Но при попытке контакта луча с объектом выдает ошибку на 31 строчке т.е.
Цитата
NullReferenceException: Object reference not set to an instance of an object
Код
ojm.Health -= playerDamge;
Вот здесь
Надеюсь на скорую помощь, заранее благодарю.