Существует проблема, с которой я сталкиваюсь с двумя объектами и одной кнопкой. Один из них - это второй куб, когда мы нажимаем кнопку куба, сталкиваемся с разрушением земли и снова создаем экземпляр. В Cube столкновение оценка уменьшается. Также в иерархии есть пустой игровой объект, имя которого является контроллером, который имеет метод текстовой оценки.Score работает нормально, но я хочу, чтобы при достижении результата 0, нажатие кнопки не работает, а куб не создается.Отключить экземпляр и нажать кнопку
CubeScript:
public class Cube : MonoBehaviour {
Rigidbody2D body;
void Start() {
body = GetComponent<Rigidbody2D>();
body.isKinematic = true;
}
}
Ground Script:
public class Ground : MonoBehaviour {
private Button button;
private BoxCollider2D collide;
public GameObject object1Clone;
void Start() {
collide = GetComponent<BoxCollider2D>();
collide.isTrigger = true;
button = GameObject.FindGameObjectWithTag ("Button").GetComponent<Button>();
button.onClick.AddListener (() => Magnetic());
}
void OnTriggerEnter2D(Collider2D target) {
Destroy (target.gameObject);
Instantiate (object1Clone, new Vector3 (0f, 4.12f, 0f), Quaternion.identity);
}
public void Magnetic(){
GameObject.FindGameObjectWithTag ("Player").GetComponent<Rigidbody2D>().isKinematic = false;
}
}
ScoreScript:
public class ScoreScript : MonoBehaviour {
public static int Score=1;
void OnTriggerEnter2D(Collider2D target) {
if (Score <=0) {
} else {
Score--;
Controller.instance.SetScore(Score);
}
}
}
Контроллер:
public class Controller : MonoBehaviour {
public static Controller instance;
public Text scoreText;
void Start() {
scoreText.text = ""+1;
if(instance==null){
instance=this;
}
}
public void SetScore(int score){
scoreText.text =""+score;
}
}
Ваше заземление, опечатка. Я вижу, что вы делаете легкий путь :). – Everts
Фактически, поскольку компонент Ground и компонент ScoreScript находятся на одном и том же объекте, вы можете пропустить поиск объекта и использовать GetComponent – Everts
, если я использую ваш первый метод, а затем зайдите на 0, а не на 0 баллов –