Не изменяется значение переменной

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

Не изменяется значение переменной

Сообщение IsNaRm 13 окт 2013, 21:18

В общем написал скрипт:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class PickUp : MonoBehaviour
{
    public static string ObjectName;

    void OnGUI()
    {
        {
            GUI.Box(new Rect(Screen.width / 2 - 100, Screen.height / 2 - 10, 200, 20), "Вы подняли " + ObjectName);
        }
    }
}
 

повесил его на пустышку, потом написал еще один:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class Bullets : MonoBehaviour
{
    public float time;

    void OnTriggerEnter()
    {
        if (Statics.CurC < Statics.NeedC)
        {
            time = 4.0f;
            if (time > 0)
            {
                time -= Time.deltaTime;
                Statics.CurC++;
                PickUp.ObjectName = "Патроны";
                GameObject.FindGameObjectWithTag("PickUp").GetComponent("PickUp").active = true;
            }  
            else
            {
                GameObject.FindGameObjectWithTag("PickUp").GetComponent("PickUp").active = false;
            }
            Destroy(gameObject);
        }
    }
}
 

повесил его на круг, круг исчезает при входе в него, если сразу включить скрипт "PickUp" то надпись меняется с "Вы подняли" на "Вы подняли патроны", но скрипт не выключается и переменная "time" не меняется на 4. Что не так я сделал?
Последний раз редактировалось IsNaRm 15 окт 2013, 20:26, всего редактировалось 1 раз.
IsNaRm
UNIт
 
Сообщения: 56
Зарегистрирован: 18 июн 2013, 12:49

Re: Помогите плз

Сообщение Tolking 13 окт 2013, 22:08

Похоже ты убиваешь объект, до того как он деактивирует пустышку...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Помогите плз

Сообщение seaman 13 окт 2013, 23:03

Назовите вменяемо тему
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Не изменяется значение переменной

Сообщение IsNaRm 15 окт 2013, 20:28

Нет я пытался так, тоже не работает
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class Bullets : MonoBehaviour
{
    public float time;

    void OnTriggerEnter()
    {
        if (Statics.CurC < Statics.NeedC)
        {
            time = 4.0f;
            if (time > 0)
            {
                time -= Time.deltaTime;
            }  
        }
    }
}
IsNaRm
UNIт
 
Сообщения: 56
Зарегистрирован: 18 июн 2013, 12:49

Re: Не изменяется значение переменной

Сообщение seaman 15 окт 2013, 21:04

Не понятно что Вы хотите. time постоянно будет = 4. Меняться не будет. И не должно.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Не изменяется значение переменной

Сообщение 2rusbekov 16 окт 2013, 07:46

А к чему тут вообще время? Понял бы если онТриггерСтэй.
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Не изменяется значение переменной

Сообщение seaman 16 окт 2013, 09:58

А неважно стей, не стей. Каждый раз делаем time = 4. Все. => Оно таким и будет всегда.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Не изменяется значение переменной

Сообщение 2rusbekov 16 окт 2013, 11:48

seaman писал(а):А неважно стей, не стей. Каждый раз делаем time = 4. Все. => Оно таким и будет всегда.

Я не к тому что от стэй что то изменится, я к тому что в стэй время смотрелось бы логичней.
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек


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

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

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


cron