- Home /
All flashlight scripts don't turn off my spotlight
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Light), typeof(AudioSource))]
public class Flashlight : MonoBehaviour {
public AudioClip clickSound;
public float batteryLifeInSec = 300f;
public float batteryPercentage = 100;
private bool on;
private float timer;
void Update() {
Light lite = GetComponent<Light>();
timer += Time.deltaTime;
if(Input.GetKeyDown(KeyCode.F) && timer >= 0.3f && batteryPercentage > 0) {
on = !on;
audio.PlayOneShot(clickSound);
timer = 0;
}
if(on) {
lite.enabled = true;
batteryPercentage -= Time.deltaTime * (100 / batteryLifeInSec);
}
else {
lite.enabled = false;
}
batteryPercentage = Mathf.Clamp(batteryPercentage, 0, 100);
if(batteryPercentage == 0) {
lite.intensity = Mathf.Lerp(lite.intensity, 0, Time.deltaTime * 2);
}
if(batteryPercentage > 0 && batteryPercentage < 25) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.5f, Time.deltaTime);
}
if(batteryPercentage > 25 && batteryPercentage < 75) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.8f, Time.deltaTime);
}
if(batteryPercentage > 75 && batteryPercentage <= 100) {
lite.intensity = Mathf.Lerp(lite.intensity, 1, Time.deltaTime);
}
}
}
I can click F to turn the light on and off and it works. However the battery runs out and it remains on. No errors or anything. I'm using Unity 4.5.1 if anyone is wondering.
Use Debug.Log(); to test the values, maybe you find the mistake. I dont know your intention so it is quite difficult to find the mistake. $$anonymous$$aybe line 34?
Answer by awesomeaustin316 · Nov 04, 2014 at 09:04 PM
I fixed it somehow. I have no idea how, but its working. I think it was just the objects I had and their tags conflicting with it. But it's fixed. Now I just gotta work out a battery and gui script for it
Your answer
Follow this Question
Related Questions
Battery life after the game ends PROBLEM 1 Answer
Flashlight Battery Help 0 Answers
Rechargeble flashlight with battery pick up 1 Answer
Flashlight Battery Error No definition 1 Answer
Battery Script If someone know the asnwer please help !! 3 Answers