Мой текущий и высокий балл не отображается на устройстве 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
Форум для тех, кто программирует под Android
1731512729
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();
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/38057449/unity-high-score-saving-on-android[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия