hello good day! i'm new to unity, i created a timer for my game, and my game includes being underwater. I put the timer inside a GUI text. I want to decrease the HP for every 5seconds underwater. here's the code.. tnx for your help!
private var passedTime ;
private var minutes : int ;
static var seconds : int ;
private var startTime = timeVar;
private var startTime2 = timeVar;
private var startTime3 = timeVar;
private var quitGameOverP : boolean =true;
var secondo ;
function Update()
{
if(id==true){
var theTime : String ;
var timer ;
if (GUIPrompt.hard== true&& GUIPrompt.medium == false && GUIPrompt.easy == false)
{
timer = startTime ;
}
else if (GUIPrompt.medium== true&& GUIPrompt.hard ==false && GUIPrompt.easy == false){
timer = startTime2 ;
}
else if (GUIPrompt.easy== true){
timer = startTime3 ;
}
passedTime = timer - Time.time ;
minutes = Mathf.Floor(passedTime / 60) ;
seconds = Mathf.Floor(passedTime % 60) ;
guiText.text = String.Format ("{0:00}:{1:00}", minutes, seconds);
}
You should put your code into a code box... click the 1's & 0's button at the top and past your code into it...
Sorry for the double comment, but I forgot to add that you should clearly state what it is that you want... 'Cause I'm not sure... And if I'm not sure, I can't help you...
I think the following code could become a simple skeleton. I added a lot of comments, some are placeholders and some are intended usage. Basically the script enters a coroutine loop that wait until player is below water, then start a drowning sequence which is escaped by surfacing, to get air. I haven't tested this code, but I checked it for any compile errors.
I make use of InvokeRepeating to start the drowning method callback after 20 seconds, and OnDrowning should be called every 5 seconds after the initial 20 seconds have passed.
function Start()
{
while(true)
{
yield WaitDive();
OnDive();
yield WaitSurface();
OnSurface();
}
}
// Called once every 5 seconds,
// started 20 seconds after dive.
function OnDrowning()
{
// Subtract health
// Add audio feedback (swallow water)
// Add visual feedback (flashing screen)
// If death, remember to call CancelInvoke.
}
// Called when we are going into water.
function OnDive()
{
// Add audio feedback (bubbles)
// Add visual blur feedback
// Start drowning after 20 seconds
InvokeRepeating("OnDrowning", 20, 5);
}
// Called when we are coming out of water.
function OnSurface()
{
// Add audio feedback (gasp for air)
// Remove visual blur feedback
// No longer in a drowning state, cancel.
CancelInvoke("OnDrowning");
}
// Obviously you need to fill in this gap.
function IsUnderwater() : boolean
{
return false;
}
// Helper that wait until is under water.
function WaitDive()
{
while (!IsUnderwater())
yield;
}
// Helper that wait until is over water.
function WaitSurface()
{
while (IsUnderwater())
yield;
}
You should put your code into a code box... click the 1's & 0's button at the top and past your code into it...
– AVividLightSorry for the double comment, but I forgot to add that you should clearly state what it is that you want... 'Cause I'm not sure... And if I'm not sure, I can't help you...
– AVividLight