Firstly, I wrote a code for a button:
function Update () {
if(Input.touchCount < 1){
GameObject.Find("Shape").GetComponent(ChangeSprite).enabled = true;
}
else {
GameObject.Find("Shape").GetComponent(ChangeSprite).enabled = false;
}
}
so when you touch it it would activate the other script:
var diamond : Sprite;
var circle : Sprite;
var triangle : Sprite;
var square : Sprite;
private var number : int;
private var spriteRenderer : SpriteRenderer;
function Start () {
number = Random.Range(1,4);
if(number == 1) {
spriteRenderer.sprite = diamond;
}
else if(number == 2) {
spriteRenderer.sprite = circle;
}
else if (number == 3) {
spriteRenderer.sprite = triangle;
}
else {
spriteRenderer.sprite = square;
}
}
This script is on an empty object. What the code does is it changes the sprite image of the game object. But it doesn’t recognise my touch. and i get an error saying : “NullReferenceException: Object reference not set to an instance of an object
ChangeSprite.Start () (at Assets/Scripts/GAME/ChangeSprite.js:23)” every time i hit the play button. Is there anything wrong with my code? I’m new to unity. Please help me. Thanks in advance.