У меня проблемы с реализацией high score
. Он считается с обычным счетом, но не сохраняет ни одного высокого балла или результата, ему просто нужно сохранять и отображать текущий высокий балл в текстовом объекте (и, если текущий счет больше сохраненного высокого балла, установите текущий счет как высокий балл). Я перепробовал разные вещи, но это не сработало.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ScoreScr : MonoBehaviour {
public static int scoreValue = 0;
public Text score;
public Text HighscoreText;
public static int highscore;
void Start () {
highscore = PlayerPrefs.GetInt("HighScore", 0);
HighscoreText.text = "" + highscore;
score = GetComponent<Text>();
scoreValue = 0;
}
void Update () {
score.text = "" + scoreValue;
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class hazzCollision : MonoBehaviour {
private void OnCollisionEnter(Collision col){
if(col.gameObject.tag == "Platform"){
this.gameObject.SetActive(false);
ScoreScr.scoreValue += 1;
}
if(col.gameObject.tag == "Player"){
if(PlayerPrefs.GetInt("HighScore", 0) < ScoreScr.scoreValue){
PlayerPrefs.SetInt("HighScore", ScoreScr.scoreValue);
PlayerPrefs.Save();
}
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
}
Результат моего рекорда в том, что он просто считается обычным счетом, вот и все.