Проблема с переменной из одного скрипта в другом

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Проблема с переменной из одного скрипта в другом

Сообщение Inqizitor 13 апр 2013, 22:03

В общем проблема такая. Имеется скрипт для HP игрока и скрипт таймера, нужно сделать так, чтобы таймер останавливался, когда HP будет равным 0.
вот скрипт
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class GameTime : MonoBehaviour
{
    public int second;
    public int minute;
    private float timer = 0;
    public HitPoints hPoints;

    public void Update ()
    {
        hPoints = GetComponent<HitPoints>();
        if (hPoints.hp != 0)
        {
            timer += Time.deltaTime;
            if (timer >= 1)
            {
                second += 1;
                timer -= 1;
                if (second == 60)
                {
                    minute += 1;
                    second = 0;
                }
            }
        }
    }
}

каждый кадр проверяется HP игрока из скрипта HitPoint, если оно больше 0, то таймер идёт, если меньше или равно, то таймер останавливается. но таймер не начинает отсчёт почему-то
Inqizitor
UNец
 
Сообщения: 48
Зарегистрирован: 01 апр 2013, 15:48

Re: Проблема с переменной из одного скрипта в другом

Сообщение pod4444 13 апр 2013, 22:11

Синтаксис:
Используется csharp
public class GameTime : MonoBehaviour
    {
        public int second;
        public int minute;
        private float timer = 0;
        public HitPoints hPoints;

        public void Update()
        {
            hPoints = GetComponent<HitPoints>();
            Debug.Log("Health points: " + hPoints.hp);
            if (hPoints.hp != 0)
            {
                Debug.Log("First condition");
                timer += Time.deltaTime;
                Debug.Log("Timer value: " + timer);
                if (timer >= 1)
                {
                    Debug.Log("Second condition");
                    second += 1;
                    timer -= 1;
                    if (second == 60)
                    {
                        Debug.Log("Third condition");
                        minute += 1;
                        second = 0;
                    }
                }
            }
        }
    }
 


Лог этого пожалуйста
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: Проблема с переменной из одного скрипта в другом

Сообщение Inqizitor 13 апр 2013, 22:21

NullReferenceException: Object reference not set to an instance of an object
GameTime.Update () (at Assets/Scripts/GameTime.cs:15)
Inqizitor
UNец
 
Сообщения: 48
Зарегистрирован: 01 апр 2013, 15:48


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17