I know I kind of asked this question one time, but no-one answered me correctly. Firstly Heres my script
var targetScript : ChangeSprite;
var AcceptInput : boolean = true;
private static var score : int = 0;
var guiScore : GUIText;
function Start ()
{
guiScore.text = "Score: 0";
}
function OnMouseDown () {
if(!AcceptInput)
{
return;
}
AcceptInput = false;
targetScript = GameObject.Find("Shape").GetComponent(ChangeSprite);
GameObject.Find("Shape").GetComponent(ChangeSprite).enabled = true;
Debug.Log("Clicked");
if(targetScript.spriteRenderer.sprite == targetScript.diamond) {
AcceptInput = true;
score += 1;
guiScore.text = "Score: " + score;
}
else{
Debug.Log("Wrong Answer!");
}
}
function OnMouseUp () {
AcceptInput = true;
GameObject.Find("Shape").GetComponent(ChangeSprite).enabled = false;
}
and the script that is being enabled :
var diamond : Sprite;
var circle : Sprite;
var triangle : Sprite;
var square : Sprite;
var number : int;
var spriteRenderer : SpriteRenderer;
function OnEnable() {
spriteRenderer = gameObject.GetComponent(SpriteRenderer);
number = Random.Range(1,5);
if(number == 1) {
spriteRenderer.sprite = diamond;
}
else if(number == 2) {
spriteRenderer.sprite = circle;
}
else if (number == 3) {
spriteRenderer.sprite = triangle;
}
else {
spriteRenderer.sprite = square;
}
}
function OnEnable() {
spriteRenderer = gameObject.GetComponent(SpriteRenderer);
number = Random.Range(1,5);
if(number == 1) {
spriteRenderer.sprite = diamond;
}
else if(number == 2) {
spriteRenderer.sprite = circle;
}
else if (number == 3) {
spriteRenderer.sprite = triangle;
}
else {
spriteRenderer.sprite = square;
}
}
What the script does is OnMouseDown, it enables a disabled script which changes an object’s sprite. And if the sprite is the correct answer, it would add a score. If not, Debug.Log(“wrong Answer!”) I used the accept input thing because if I don’t it would play through the sprites non stop because the script wouldn’t be disabled. But the thing is, if I press the button, it would add the score before the sprite would even be displayed on the screen, so I want to make a restriction so that you can only press the button and the button can only work when the actual sprite is displayed. Does anyone have any Real
ideas? Thank You