Вкл\выкл SpotLight
Wave Дата: Вс, 29 Сен 2013, 21:57 | Сообщение # 1
Сообщений: 1
Награды:
0
Репутация:
0
Статус: Offline
Подскажите пожалуйста, что дописать в коде, что бы когда значение Cur Battery Life достигало 0 то фонарик то есть SpotLight отключался. Код
public var flickerSpeed : float = 0.1 ; public var curBatteryLife : float ; public var batteryTexture : Texture2D ; public var batteryBarTexture : Texture2D ; var FlashLightOn : AudioClip ; var FlashLightOff : AudioClip ; function Start () { curBatteryLife = maxBatteryLife ; } function Update () { if ( this . light . enabled ) { curBatteryLife -= Time . deltaTime ; } if ( Input . GetKeyDown ( KeyCode . F ) && ! this . light . enabled ) { audio . clip = FlashLightOn ; audio . Play (); Debug . Log ( "Play sound" ); if ( curBatteryLife > 0 ) { if ( curBatteryLife > maxBatteryLife ) { curBatteryLife = maxBatteryLife ; } if ( curBatteryLife <= flickerStart ) { var RandomNumber = Random . value ; if ( RandomNumber <= flickerSpeed ) { this . light . enabled = true ; } else { this . light . enabled = false ; } } else { this . light . enabled = true ; } } else { curBatteryLife = 0 ; this . light . enabled = false ; } } else if ( Input . GetKeyDown ( KeyCode . F ) && this . light . enabled ) { audio . clip = FlashLightOff ; audio . Play (); Debug . Log ( "Play sound" ); this . light . enabled = false ; } } function OnGUI () { GUI . DrawTexture ( Rect ( Screen . width - 60 , 10 , 50 , 50 ), batteryTexture ); var adjustBatteryBar = curBatteryLife * ( 36 / maxBatteryLife ); if ( curBatteryLife <= maxBatteryLife / 5 ) { GUI . color = Color . red ; } else { GUI . color = Color . white ; } GUI . BeginGroup ( Rect ( Screen . width - 55 , 28 , adjustBatteryBar , 12.7 )); GUI . DrawTexture ( Rect ( 0 , 0 , 36 , 12.7 ), batteryBarTexture ); GUI . EndGroup (); }
Это во-первых... Добавлено (29 Сен 2013, 21:57) --------------------------------------------- И куда это вписать . - при регистрации любезно предоставлены правила (видимо только для меня), не прочтем = не удивляемся потом... 3. Публикация сообщений. п.1 Название темы должно быть информативным, максимально четко отражая смысл проблемы. 5. Категорически запрещаеться п. 9 Использование неинформативных заголовков - "Спасите", "Помогите", "Нужна помощь!", "Вопрос", "Help Me", "SOS", "Срочно". DENTNT
Сообщение Подскажите пожалуйста, что дописать в коде, что бы когда значение Cur Battery Life достигало 0 то фонарик то есть SpotLight отключался. Код
public var flickerSpeed : float = 0.1 ; public var curBatteryLife : float ; public var batteryTexture : Texture2D ; public var batteryBarTexture : Texture2D ; var FlashLightOn : AudioClip ; var FlashLightOff : AudioClip ; function Start () { curBatteryLife = maxBatteryLife ; } function Update () { if ( this . light . enabled ) { curBatteryLife -= Time . deltaTime ; } if ( Input . GetKeyDown ( KeyCode . F ) && ! this . light . enabled ) { audio . clip = FlashLightOn ; audio . Play (); Debug . Log ( "Play sound" ); if ( curBatteryLife > 0 ) { if ( curBatteryLife > maxBatteryLife ) { curBatteryLife = maxBatteryLife ; } if ( curBatteryLife <= flickerStart ) { var RandomNumber = Random . value ; if ( RandomNumber <= flickerSpeed ) { this . light . enabled = true ; } else { this . light . enabled = false ; } } else { this . light . enabled = true ; } } else { curBatteryLife = 0 ; this . light . enabled = false ; } } else if ( Input . GetKeyDown ( KeyCode . F ) && this . light . enabled ) { audio . clip = FlashLightOff ; audio . Play (); Debug . Log ( "Play sound" ); this . light . enabled = false ; } } function OnGUI () { GUI . DrawTexture ( Rect ( Screen . width - 60 , 10 , 50 , 50 ), batteryTexture ); var adjustBatteryBar = curBatteryLife * ( 36 / maxBatteryLife ); if ( curBatteryLife <= maxBatteryLife / 5 ) { GUI . color = Color . red ; } else { GUI . color = Color . white ; } GUI . BeginGroup ( Rect ( Screen . width - 55 , 28 , adjustBatteryBar , 12.7 )); GUI . DrawTexture ( Rect ( 0 , 0 , 36 , 12.7 ), batteryBarTexture ); GUI . EndGroup (); }
Это во-первых... Добавлено (29 Сен 2013, 21:57) --------------------------------------------- И куда это вписать . - при регистрации любезно предоставлены правила (видимо только для меня), не прочтем = не удивляемся потом... 3. Публикация сообщений. п.1 Название темы должно быть информативным, максимально четко отражая смысл проблемы. 5. Категорически запрещаеться п. 9 Использование неинформативных заголовков - "Спасите", "Помогите", "Нужна помощь!", "Вопрос", "Help Me", "SOS", "Срочно". DENTNT Автор - Wave Дата добавления - 29 Сен 2013 в 21:57
игнат Дата: Пн, 30 Сен 2013, 17:12 | Сообщение # 2
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
А во вторых: Как я понимаю, скрипт не ваш, раз вы не знаете куда что "вписывать". Следуем простой логике - у вас есть строчка Код
if ( curBatteryLife > 0 ) //если curBatteryLife > 0, то... { бла-бла-бла...
По идее сюда вы и должны вставить CurBatteryLife -= Time.deltaTime Тем более у вас есть строка: Код
if ( this . light . enabled ) { curBatteryLife -= Time . deltaTime ; }
В которой и происходит это уменьшение. Далее надо написать такую функцию: Код
function Update () { if ( curBatteryLife <= 0 ) { curBatteryLife = 0 ; this . light . enabled = false ; } }
Причём интересно, что и эти строки у вас уже есть - следовательно, ждите, пока я разберусь...
Правила форума · участник GCC
Сообщение А во вторых: Как я понимаю, скрипт не ваш, раз вы не знаете куда что "вписывать". Следуем простой логике - у вас есть строчка Код
if ( curBatteryLife > 0 ) //если curBatteryLife > 0, то... { бла-бла-бла...
По идее сюда вы и должны вставить CurBatteryLife -= Time.deltaTime Тем более у вас есть строка: Код
if ( this . light . enabled ) { curBatteryLife -= Time . deltaTime ; }
В которой и происходит это уменьшение. Далее надо написать такую функцию: Код
function Update () { if ( curBatteryLife <= 0 ) { curBatteryLife = 0 ; this . light . enabled = false ; } }
Причём интересно, что и эти строки у вас уже есть - следовательно, ждите, пока я разберусь... Автор - игнат Дата добавления - 30 Сен 2013 в 17:12
игнат Дата: Пн, 30 Сен 2013, 18:47 | Сообщение # 3
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Скрипт работает (но что-то с обновлением значения переменных). Основные функции: 1. Вкл/выкл 2. Заряд 3. Показатель заряда 4. Рандомное вкл/выкл фонарика, при определ. обстоятельствах. Скрипт немного поправил: Код
public var flickerSpeed : float = 0.1 ; // public var curBatteryLife : float ; // public var maxBatteryLife : float ; //Кто будет объявлять переменную? public var flickerStart : float ; //Кто будет объявлять переменную? И для чего она? public var batteryTexture : Texture2D ; // public var batteryBarTexture : Texture2D ; // public var FlashLightOn : AudioClip ; // public var FlashLightOff : AudioClip ; // function Start () { curBatteryLife = maxBatteryLife ; // } function Update () { if ( Input . GetKeyDown ( KeyCode . F ) && ! this . light . enabled ) { audio . clip = FlashLightOn ; audio . Play (); Debug . Log ( "Play sound, Input F" ); this . light . enabled = true ; if ( curBatteryLife > 0 ) { if ( curBatteryLife > maxBatteryLife ) { curBatteryLife = maxBatteryLife ; } if ( this . light . enabled ) { curBatteryLife -= Time . deltaTime ; } if ( curBatteryLife <= flickerStart ) { var RandomNumber = Random . value ; if ( RandomNumber <= flickerSpeed ){ this . light . enabled = true ; } else { this . light . enabled = false ; } } else { this . light . enabled = true ; } } else { curBatteryLife = 0 ; this . light . enabled = false ; } } else if ( Input . GetKeyDown ( KeyCode . F ) && this . light . enabled ) { audio . clip = FlashLightOff ; audio . Play (); Debug . Log ( "Play sound" ); this . light . enabled = false ; } } function OnGUI () { GUI . DrawTexture ( Rect ( Screen . width - 60 , 10 , 50 , 50 ), batteryTexture ); var adjustBatteryBar = curBatteryLife * ( 36 / maxBatteryLife ); if ( curBatteryLife <= maxBatteryLife / 5 ) { GUI . color = Color . red ; } else { GUI . color = Color . white ; } GUI . BeginGroup ( Rect ( Screen . width - 55 , 28 , adjustBatteryBar , 12.7 )); GUI . DrawTexture ( Rect ( 0 , 0 , 36 , 12.7 ), batteryBarTexture ); GUI . EndGroup (); }
Правила форума · участник GCC
Сообщение Скрипт работает (но что-то с обновлением значения переменных). Основные функции: 1. Вкл/выкл 2. Заряд 3. Показатель заряда 4. Рандомное вкл/выкл фонарика, при определ. обстоятельствах. Скрипт немного поправил: Код
public var flickerSpeed : float = 0.1 ; // public var curBatteryLife : float ; // public var maxBatteryLife : float ; //Кто будет объявлять переменную? public var flickerStart : float ; //Кто будет объявлять переменную? И для чего она? public var batteryTexture : Texture2D ; // public var batteryBarTexture : Texture2D ; // public var FlashLightOn : AudioClip ; // public var FlashLightOff : AudioClip ; // function Start () { curBatteryLife = maxBatteryLife ; // } function Update () { if ( Input . GetKeyDown ( KeyCode . F ) && ! this . light . enabled ) { audio . clip = FlashLightOn ; audio . Play (); Debug . Log ( "Play sound, Input F" ); this . light . enabled = true ; if ( curBatteryLife > 0 ) { if ( curBatteryLife > maxBatteryLife ) { curBatteryLife = maxBatteryLife ; } if ( this . light . enabled ) { curBatteryLife -= Time . deltaTime ; } if ( curBatteryLife <= flickerStart ) { var RandomNumber = Random . value ; if ( RandomNumber <= flickerSpeed ){ this . light . enabled = true ; } else { this . light . enabled = false ; } } else { this . light . enabled = true ; } } else { curBatteryLife = 0 ; this . light . enabled = false ; } } else if ( Input . GetKeyDown ( KeyCode . F ) && this . light . enabled ) { audio . clip = FlashLightOff ; audio . Play (); Debug . Log ( "Play sound" ); this . light . enabled = false ; } } function OnGUI () { GUI . DrawTexture ( Rect ( Screen . width - 60 , 10 , 50 , 50 ), batteryTexture ); var adjustBatteryBar = curBatteryLife * ( 36 / maxBatteryLife ); if ( curBatteryLife <= maxBatteryLife / 5 ) { GUI . color = Color . red ; } else { GUI . color = Color . white ; } GUI . BeginGroup ( Rect ( Screen . width - 55 , 28 , adjustBatteryBar , 12.7 )); GUI . DrawTexture ( Rect ( 0 , 0 , 36 , 12.7 ), batteryBarTexture ); GUI . EndGroup (); }
Автор - игнат Дата добавления - 30 Сен 2013 в 18:47