• 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
0
Question by Rider · Oct 06, 2012 at 05:37 PM · triggermaterialtimercountdown

Enable/Disable script with timer

hiya,

Do you have some time to help me on this, please? I have a particle system shooting at a sphere which I want to light up when particles collide.

Right now I have two scripts: 1 - one called "Color Change", that just swaps the sphere's material. 2 - and another called "Trigger" that is supposed to listen for particles that collide, enable "Color Change" during some time, and then disabling it.

I can't get it to disable the "Color Change" script. :/

1 - "Color Change" :

 var material1 : Material;
 var material2 : Material;
 
 
 function Update () {
 
     renderer.material.Lerp (material1, material2, 1);
      
  }



2 - "Trigger" :

 private var startTime;
 
 private var restSeconds : int;
 
 private var roundedRestSeconds : int;
 
 private var displaySeconds : int;
 
 private var displayMinutes : int;
 
 
 
 var countDownSeconds : float;
 
 
 
 function Start () {
 
 
 
 GetComponent("Color Change").enabled = false;
 
 
 
 }
 
 
 
 
 
 function Awake() 
 
 {    
 
     Reset();
 
 }
 
 
 
 function Reset()
 
 {
 
     startTime = Time.time;
 
 }
 
 
 
 function OnParticleCollision (other : GameObject){
 
    
 
    Reset();
 
    GetComponent("Color Change").enabled = true;
 
    var guiTime = Time.time - startTime;
 
 
 
     restSeconds = countDownSeconds - (guiTime);
 
 
 
         if (restSeconds == 0) {
 
         print ("Time is Over");
 
         GetComponent("Color Change").enabled = false;
 
           }
 
           
 
      }
 
 
 
 
 
 function OnGUI () {
   
     //display the timer
 
     roundedRestSeconds = Mathf.CeilToInt(restSeconds);
 
     displaySeconds = roundedRestSeconds % 60;
 
     displayMinutes = roundedRestSeconds / 60; 
 
 
 
     text = String.Format ("{0:00}:{1:00}", displayMinutes, displaySeconds); 
 
     GUI.Label (Rect (400, 25, 100, 30), text);
 
 }


p.s. should I make just one single script in which when the timer reaches 0, the material is just swapped back ? I don't want to use Mathf.Pingpong, because the sphere should just only light up once for every particle collided.

Thanks!

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
0

Answer by Alex Rider · Oct 07, 2012 at 01:46 AM

bump ?

Comment
Add comment · Show 1 · 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 AlucardJay · Oct 07, 2012 at 01:46 AM 0
Share

Hi There.

Please don't post comments as answers. Post comments by clicking the [add new comment] button, a window then open for you to type in. Answer fields are for answers only, as this is a knowledge base.

You can convert this answer to a comment (or just edit your original question), you'll also get a better chance of getting an actual answer if the main list shows none or one answer in blue =]

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



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

Change main Camera to another camera with a Trigger then back with a Timer. 1 Answer

Is it possible to turn a script On/Off ? (Solved) 3 Answers

Timer script running too fast 1 Answer

End Game when hit's water 2 Answers

script countdown 2 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges