Не работает счетчик очков в тестовой сборке, на устройстве (Unity2d)
В редакторе все работает корректно, но на самом устройстве счетчик не меняет значение (словно не обновляется, что-ли...)
public void addScore()
{
playerScore += playerScore + 20;
}
public void Update()
{
scoreText.text = playerScore + " Scores";
}
Может ли быть проблема в том, что метод addScore Выполняется другим скриптом???
void OnTriggerEnter2D(Collider2D collider)
{
if (collider.gameObject.tag == "Finish")
{
GameObject player = GameObject.FindGameObjectWithTag("Player");
player.SendMessage("addScore", score);
//score = score += 10;
//scoreText.text = "Score:" + score + " ";
Destroy(gameObject);
}
}
Ответы (1 шт):
Автор решения: GeekOnRudz
→ Ссылка
Решил проблему следующим способом:
void Start()
{
rb.velocity = transform.up * speed;
ScoreH = GameObject.Find("ScoreHolder");
}
void OnTriggerEnter2D(Collider2D collider)
{
if (collider.gameObject.tag == "Finish")
{
ScoreH.GetComponent<ScoreMan>().score += 10;
if (ScoreH.GetComponent<ScoreMan>().score > ScoreH.GetComponent<ScoreMan>().highScore)
{
ScoreH.GetComponent<ScoreMan>().highScore = ScoreH.GetComponent<ScoreMan>().score;
}
explosion();
}
}