Мой текущий и высокий балл не отображается на устройстве Android
Как вы можете видеть на картинке, он показывает Score и HighScore в DeathGUI, но когда я создаю его для Android, он показывает 0 и 0
Контроллер меню DeathGUI
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class MenuController : MonoBehaviour {
public Text scoreText;
public void StartGame()
{
SceneManager.LoadScene("Name is Hidden but it is Correct");
}
public void RestartGame()
{
if (GameStateManager.GameState == GameState.Dead)
{
GameStateManager.GameState = GameState.Intro;
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
public void ToggleEndMenu(float score)
{
gameObject.SetActive(true);
scoreText.text = ((int)score).ToString("0");
}
}
Менеджер показателей игроков
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class ScoreManager : MonoBehaviour
{
private float score = 0f;
public Text Scoretext;
public MenuController deathmenu;
void Update()
{
score += Time.deltaTime;
Scoretext.text = ((int)score).ToString();
}
public void onDeath()
}
if(PlayerPrefs.GetFloat("Highscore") < score)
PlayerPrefs.SetFloat("Highscore", score);
deathmenu.ToggleEndMenu(score);
}
}
Скрипт игрока
void Update()
{
//handle back key in Windows Phone
if (Input.GetKeyDown(KeyCode.Escape))
Application.Quit();
if (GameStateManager.GameState == GameState.Intro)
{
MovePlayerOnYAxis();
if (WasTouchedOrClicked())
{
IntroGUI.SetActive(false);
GameStateManager.GameState = GameState.Playing;
}
}
else if (GameStateManager.GameState == GameState.Playing)
{
MovePlayerOnYAxis();
Canvas.SetActive(true);
DeathGUI.SetActive(false);
}
score += Time.deltaTime;
Scoretext.text = ((int)score).ToString();
}
void PlayerDies()
{
GameStateManager.GameState = GameState.Dead;
DeathGUI.SetActive(true);
Canvas.SetActive(false);
GetComponent().PlayOneShot(DeathAudioClip);
if (PlayerPrefs.GetFloat("Highscore") < score)
PlayerPrefs.SetFloat("Highscore", score);
deathmenu.ToggleEndMenu(score);
}
Скрипт HighScore
Графический интерфейс HighScore для сценария
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class HighScoreText : MonoBehaviour {
public Text HighscoreText;
// Use this for initialization
void Start () {
HighscoreText.text = ((int)PlayerPrefs.GetFloat("Highscore")).ToString();
}
}
Подробнее здесь: https://stackoverflow.com/questions/380 ... on-android
Сохранение рекордов Unity на Android ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение