- Home /
Change score based on time remaining.
This questions a little tricky to word but i would like to make it so that when you get to say 30 seconds left on the timer, the amount of points you would get from shooting the blocks decreases by 1 point. So you start by getting 5 points and eventually this decreases the more time you spend playing the game.
This is my timer script.
var Counter : float;
function Start () {
}
function Update()
{
Counter -= Time.deltaTime;
}
function OnGUI ()
{
GUI.Label (Rect (Screen.width / 4 - 50, Screen.height / 4-50, 100, 100), "Time Remaining: " + Counter);
}
This is my score script.
function OnCollisionEnter(collision : Collision)
{
if (collision.collider.tag == "ammo")
{
Debug.Log("Score!");
ScoreScript.Counter += 5;
}
}
This is my block behaviour script were my blocks change color and eventually destroy.
function Start () {
}
function Update () {
}
function OnCollisionEnter(collision : Collision)
{
if (collision.collider.tag == "ammo")
{
if (gameObject.tag == "whiteBlock")
{
transform.renderer.material.color = Color.red;
gameObject.tag = "redBlock";
Debug.Log("Red Block Created"+collision.collider.tag);
}
else if (gameObject.tag == "redBlock")
{
transform.renderer.material.color = Color.green;
gameObject.tag = "greenBlock";
Debug.Log("Green Block Created"+collision.collider.tag);
}
else if (gameObject.tag == "greenBlock"){
Destroy (gameObject);
}
}
//Debug.Log("Collision Detected by "+collision.collider.tag);
}
How would i go around doing this task? any help would i would be grateful!
Answer by Peter G · Oct 16, 2013 at 10:06 AM
I would do something like this:
var scoreMultiplier = 5;
function Start () {
InvokeRepeating( "DecreaseMultiplier", 30 , 30);
//You could easily set this up as a coroutine if you wanted variable times.
}
function DecreaseMultiplier () {
scoreMultiplier--;
//Possibly clamp at 1pt.
}
function OnCollisionEnter () {
score += scoreMultiplier;
//basically the same as yours, just with a variable.
}
Your answer
Follow this Question
Related Questions
How to increase score by one per second when you are holding an object 2 Answers
Add time score to my game 1 Answer
Scored based on time. 0 Answers
C#: Q about creating Score system using GUItext and Time 1 Answer
Score Multiplier by Time 1 Answer