- Home /
How do I Instantiate a prefab to touch and still update a score?
So, right now In have a random generator that generates a random location and Instantiates a prefab there. What I am trying to do is get it so when I touch the object (prefab object) I want the score to go up by one and the object to disappear.
Right now the score is also a prefab that I Instantiate on start up so it can be set as a variable of the object prefab, but this only updates the score when I play then stop and play again.
Does anyone have a better way of doing this or a way to fix this? Thanks.
Scripts:
Random object generator:
var scoreGui : GUIText; var myobject : Transform; var minWait = 1.0; var maxWait = 5.0;
function Start () { Instantiate (scoreGui); while(true) { yield WaitForSeconds(Random.Range(minWait, maxWait)); Spawn(); } }
function Spawn () { var position = Vector3(Random.Range(-18, 18), 2.5, Random.Range(-10, 10));
Instantiate (myobject, position, transform.rotation);
}
Score Script:
var scoreGui : GUIText; var score = PlayerPrefs.GetInt("Score");
public function Start() { UpdateScoreGui(); } function UpdateScoreGui() { scoreGui.text = "Current Score: " + score; } function AddPoint () { score++; UpdateScoreGui(); }
Object Script:
var other : GameObject;
function OnMouseDown(){ var sa : ScoreScript = other.GetComponent( ScoreScript ); sa.AddPoint(); Destroy(gameObject); }
Answer by Heratitan · Jun 21, 2011 at 02:05 AM
I used GameObject.Find when the object was spawn in order to find to object to send the message to update the score.
Your answer
Follow this Question
Related Questions
My randomly generated slope game doesn't seem to work? 0 Answers
Keep constant number of prefabs 1 Answer
Prefabs Transforms LookAt 0 Answers
How can I instantiate more prefabs as the score increases? 2 Answers
Instantiated object rotation abruptly. 0 Answers