I’m trying to follow a tutorial, in which the player is supposed to navigate a ball around a room, and hit all the cubes. Each time you hit a cube, the score counter should display one number higher. Here’s the script I’ve applied to all the cubes:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DoggyStyle : MonoBehaviour {
public int speed=1;
public int counter=2;
public Text counting;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime*speed);
}
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Player"))
{
counter= counter+ 1;
counting.text = "Score:"+counter;
GetComponent<Collider>().isTrigger = false;
speed = 0;
GetComponent<Rigidbody>().isKinematic = false;
GetComponent<Rigidbody>().useGravity = true;
}
}
}
Everything about it except the counting seems to work. I’ve got four cubes right now, with the script applied to their prefab. When I test the game, the counter only goes up for the first cube that I hit, after which it doesn’t change. How do I fix this?