deltaTime

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

deltaTime

Сообщение hlamik 28 фев 2013, 16:41

Синтаксис:
Используется javascript
myTimer -= Time.deltaTime;




Я хочу сделать таймер, но вылазит вот эта ошибка в этой строчке

NullReferenceException: Object reference not set to an instance of an object
hlamik
UNец
 
Сообщения: 9
Зарегистрирован: 27 янв 2013, 14:35

Re: deltaTime

Сообщение AMD 28 фев 2013, 18:48

Если ошибка именно на этой строке, то Ваш MyTimer объявлен, но в него ничего не положено. В старте положите в него ноль.
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва

Re: deltaTime

Сообщение seaman 28 фев 2013, 19:55

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

Re: deltaTime

Сообщение hlamik 28 фев 2013, 20:45

Синтаксис:
Используется javascript
var levelTimer : float = 2;
var coolDown : float = 2;


function Start () {
    levelTimer = 0;
    coolDown = 15.0f;
 
}


function Update () {
    if(levelTimer > 0)
        levelTimer -= Time.deltaTime;
 
    if (levelTimer < 0)
        levelTimer = 0;
 
    if(levelTimer == 0){
        Application.LoadLevel("11");
       
        levelTimer = coolDown;
    }
}
hlamik
UNец
 
Сообщения: 9
Зарегистрирован: 27 янв 2013, 14:35

Re: deltaTime

Сообщение dobec666 28 фев 2013, 21:05

Попробуйте вот так
Синтаксис:
Используется javascript
var levelTimer : float;
var levelCD : float;

function Start () {
        levelCD = 15;
        levelTimer = levelCD;
}

function Update () {
    if(levelTimer > 0) {
        levelTimer -= Time.deltaTime;
        }
       
    if (levelTimer < 0) {
        levelTimer = 0;
        }
       
    if(levelTimer == 0){
        Application.LoadLevel("11");
        levelTimer = levelCD;
    }
}
 

Прошу прощения, с прошлым вариантом был косяк, вот с этим должен каждые 15 сек грузить левел 11. Если Вы именно этого хотите..)
Застрял на настройке мультиплеера. :(
Аватара пользователя
dobec666
UNITрон
 
Сообщения: 161
Зарегистрирован: 27 фев 2013, 22:33

Re: deltaTime

Сообщение seaman 28 фев 2013, 21:50

dobec666
Так точно работать не будет. levelTimer = coolDown; а coolDown то не определен!
hlamik
Вы уверены, что именно в этом коде ошибка? В первом посте слегка другая строка. А код на первый взгляд верен. Хотя я JS плохо знаю.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: deltaTime

Сообщение dobec666 28 фев 2013, 21:59

seaman писал(а):dobec666
Так точно работать не будет. levelTimer = coolDown; а coolDown то не определен!
hlamik
Вы уверены, что именно в этом коде ошибка? В первом посте слегка другая строка. А код на первый взгляд верен. Хотя я JS плохо знаю.


написал код я его вижу, вроде верно. Сейчас запустил у себя, только вместо (11) написал (_ Start Location), начался 15 секундный отсчет, как левел таймер дршел до 0 загрузилась старт лока, и снова пошел отсчет, и так по кругу. :)
ПиСи кулдаун был у автора, я просто открыл нотепад и переписал на свой лад, у меня получилось levelCD, но это же не суть? :)
Застрял на настройке мультиплеера. :(
Аватара пользователя
dobec666
UNITрон
 
Сообщения: 161
Зарегистрирован: 27 фев 2013, 22:33

Re: deltaTime

Сообщение hlamik 28 фев 2013, 22:13

Мне надо чтобы 15 сек прошло и загрузилась другая сцена
hlamik
UNец
 
Сообщения: 9
Зарегистрирован: 27 янв 2013, 14:35

Re: deltaTime

Сообщение Acolit 28 фев 2013, 22:26

viewtopic.php?f=105&t=13533
пользуйтесь поиском.
Аватара пользователя
Acolit
UNIверсал
 
Сообщения: 431
Зарегистрирован: 08 мар 2012, 11:15

Re: deltaTime

Сообщение dobec666 28 фев 2013, 22:31

hlamik писал(а):Мне надо чтобы 15 сек прошло и загрузилась другая сцена


А в чем проблема? :) Он так и работает.

Синтаксис:
Используется javascript
var levelTimer : float;
var levelCD : float; // *Кулдаун, нужен для того что-бы указывать значения для levelTimer

function Start () {
        levelCD = 15; // *Время через которое сцена загрузиться, примерно в секундах.
        levelTimer = levelCD;
}

function Update () {
    if(levelTimer > 0) {
        levelTimer -= Time.deltaTime;
        }
       
    if (levelTimer < 0) {
        levelTimer = 0;
        }
       
    if(levelTimer == 0){
                Application.LoadLevel("_ Start Location");  // Грузит сцену.
                levelTimer = levelCD;  // *Ставит таймер обратно на 15 сек, что-бы по новой загрузить эту же сцену.
                                                 // Если хочешь что-бы сцену грузилась единожды, сотри строчки со * в комментариях
                                                 // И поменяй значение levelTimer = levelCD; на levelTimer = 15;
    }
}
Застрял на настройке мультиплеера. :(
Аватара пользователя
dobec666
UNITрон
 
Сообщения: 161
Зарегистрирован: 27 фев 2013, 22:33

Re: deltaTime

Сообщение hlamik 28 фев 2013, 22:46

Синтаксис:
Используется javascript
var myTimer : float = 5.0;
 
function Update () {
 if(myTimer > 0){
  myTimer -= Time.deltaTime;
 }
 if(myTimer <= 0){
  Debug.Log("GAME OVER");
 }
}


У меня даже в этом коде ошибку выдает
hlamik
UNец
 
Сообщения: 9
Зарегистрирован: 27 янв 2013, 14:35

Re: deltaTime

Сообщение dobec666 28 фев 2013, 22:53

hlamik писал(а):
Синтаксис:
Используется javascript
var myTimer : float = 5.0;
 
function Update () {
 if(myTimer > 0){
  myTimer -= Time.deltaTime;
 }
 if(myTimer <= 0){
  Debug.Log("GAME OVER");
 }
}


У меня даже в этом коде ошибку выдает


Есть подозрения что ты создаешь сишарп сркипт и эти коды сохраняешь там. 8-}
Застрял на настройке мультиплеера. :(
Аватара пользователя
dobec666
UNITрон
 
Сообщения: 161
Зарегистрирован: 27 фев 2013, 22:33

Re: deltaTime

Сообщение Acolit 01 мар 2013, 15:17

То, что я скинул на C#
Аватара пользователя
Acolit
UNIверсал
 
Сообщения: 431
Зарегистрирован: 08 мар 2012, 11:15


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

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

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