Сохранение рекордов Unity на AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Сохранение рекордов Unity на Android

Сообщение Anonymous »

Мой текущий и высокий балл не отображается на устройстве 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»