- Home /
Independence for scripts in clones?
Simply put, I am building up a set of tiles, randomly made up of 25 tiles picked from a "pool" of 7 tile types. These are then instantiated from tile prefabs (1 prefab per type). Each tile has a basic "Tile" script that holds things like the ID of the tile, it's color, and so on.
I thought that since each prefab is a clone, that if I put something like
void Update(){
if (Input.GetMouseButtonDown(0)) {
Debug.Log("Tile ID clicked: " + tileID.toString());
}
that each clone would have it's own script instance, and if you clicked on, for instance, tile 10 (tileID=10), the above would produce "Tile ID clicked: 10".
But when I run this, any click, anywhere in the screen seems to call Update() for ALL of the cloned prefabs, in addition to being called even when I am clicking nowhere near the prefabs. So, if I have 5 tiles cloned, I get: "Tile ID clicked: 1 Tile ID clicked: 2 Tile ID clicked: 3 Tile ID clicked: 4 Tile ID clicked: 5"
Is it possible to only call the script on the particular clone that was clicked?
--Gray
Answer by Eric5h5 · May 10, 2011 at 03:36 AM
You're using Input.GetMouseButtonDown, which just tells you if the mouse button is pressed, nothing else. Presumably you're looking for the OnMouseDown function instead.
Your answer

Follow this Question
Related Questions
Updating Pattern of Prefabs 1 Answer
Please help. I can't stop this light from moving!!! 1 Answer
Im a bit confused on a simple script 1 Answer
How to cycle Vector3 transformations correclty perfomance-wise? 1 Answer
Input versus Event 1 Answer