Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by BawsAnimations · Oct 10, 2012 at 12:05 AM · flashlightdefaulton and off

Default Values? (on by default/off by default)

Hello! I am trying to create an FPS game. I have made a flashlight that works with the press of a button to turn it on and off. My only problem is that I don't want the flashlight to be turned on when I start the playmode. I want it to be turned off by default.

I tried boolean = false ; but it just said the "boolean is not assigned to". I am pretty new to Unity. Can anyone help? Heres my script :

 private var flashlight : Light;  
 
 function Start () {
     flashlight = GetComponent("Light");
 }
 
 function Update () {
 
     if (Input.GetKeyDown("g")) {
        if (flashlight.enabled) {
          flashlight.enabled = false;
        } else {
          flashlight.enabled = true;
        }
     }
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by aldonaletto · Oct 10, 2012 at 12:11 AM

You could simply disable it at Start - and just toggle enabled at Update:

 private var flashlight : Light;  
 
 function Start () {
     flashlight = GetComponent("Light");
     flashlight.enabled = false; // turn it off at Start
 }
 
 function Update () {
     if (Input.GetKeyDown("g")) {
        // toggle enabled:
        flashlight.enabled = !flashlight.enabled;
     }
 }
Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Kobohdashi · Aug 08, 2013 at 10:17 AM 0
Share

@aldonaletto Hello your are a great help to many of us here, I have the same issue with the flashlight being on when the game starts I got this flashlight script and modified it for my needs I added the piece you left on top as an answer but the light is still on when the game starts, here is the script I am using.

 //Name this script Flashlight and attach it to your player for instance
 var switchsound : AudioClip;
 var lightSource : Light; //Connect the light source in the Inspector
 static var energy : float = 0; //The energy amount of the flashlight
 static var turnedOn : boolean = true; //Boolean to check whether it's turned on or off
 private var drainSpeed : float = 2.0; //The speed that the energy is drained
 
 function Update () {
     if (Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.F)) ToggleFlashlight();
 }
 
    
 //When the player press F we toggle the flashlight on and off
 function ToggleFlashlight () {
          audio.PlayOneShot(switchsound);
     turnedOn=!turnedOn;
     if (turnedOn && energy>0) {
        TurnOnAndDrainEnergy();
     } else {
        lightSource.enabled = false;
     }
 }
  
 //When the flashlight is turned on we enter a while loop which drains the energy
 function TurnOnAndDrainEnergy () {
     lightSource.enabled = true;
     while (turnedOn && energy>0) {
        energy -= drainSpeed*Time.deltaTime;
        yield;
     }
     lightSource.enabled = false;
 }
  
 //This is called from outside the script to alter the amount of energy
 static function AlterEnergy (amount : int) {
     energy = $$anonymous$$athf.Clamp(energy+amount, 0, 100);
 }
 
 function OnGUI () {
     GUI.Label (Rect (10, 10, 150, 20), Flashlight.energy.ToString());
 }
 
 private var flashlight : Light;  

How would I go about implementing something so the flashlight is off when the level starts? $$anonymous$$uchas gracias for all your help.

avatar image aldonaletto · Aug 10, 2013 at 09:06 PM 0
Share

Just initialize turnedOn to false in the declaration:

 static var turnedOn : boolean = false; //Boolean to check whether it's turned on or off

But since turnedOn is static, it will keep its value across level changes. If you want it to start each level turned off, set the variable to false at Start too:

 function Start(){
     turnedOn = false;
 }

It's better to keep the initialization to false anyway, because without this you may have the flashlight on for a while when the first level is loaded.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

11 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Multiple Cars not working 1 Answer

Can you help me find the script error please? 1 Answer

Creating Loading Bar For web Player 1 Answer

Problem in 2D Gun Rotation 1 Answer

IndexOutOfRangeException: Array index is out of range 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges