- 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
![](https://koobas.hobune.stream/wayback/20220613070536im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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