мои очки здоровья не установлены на правильное значение, когда я строю на Android Mobile - PullRequest
0 голосов
/ 17 октября 2018

У меня есть проект 2D-игры с боковым скроллером, я установил индикатор HP в качестве ползунка внутри холста, который перекрывает пространство экрана, и режим масштабирования пользовательского интерфейса называется «Масштаб с размером экрана».Теперь, когда я тестирую игру в единстве, значения HP выполняются правильно с правильным значением по умолчанию, равным 20. Но всякий раз, когда я строю свой проект на свой мобильный телефон, мое значение HP всегда устанавливается на ноль.Как я могу зафиксировать свое значение HP всякий раз, когда я собираю его на свой мобильный телефон.

Это тестирование на Unity - для зеленого слайдера значения HP "жадность" установлено правильное значение.

enter image description here

Это тестирование на мобильном телефоне - значение обнуляется

enter image description here

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class PlayerHealth : MonoBehaviour {



//HUD Variables
public Slider healthSlider;

void Start () {

    bulan_fullhp = PlayerPrefs.GetInt ("Bulan_hp");
    currHP = bulan_fullhp;
    Debug.Log ("Bulan HP is : " + currHP);

    healthSlider.maxValue = bulan_fullhp;
    healthSlider.value = bulan_fullhp;


}

значение по умолчанию HP составляет 20

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Это связано с тем, что вы сначала не установили его значение,

PlayerPrefs.GetInt ("Bulan_hp");

Если для клавиши "Bulan_hp" не задано значение, оно будетdefault возвращает 0. Поэтому убедитесь, что ключ существует, используя следующий код.И если ключ не найден, назначьте его.

if !(PlayerPrefs.HasKey("Bulan_hp"))
{
    // You can set this value to playerprefs
    PlayerPrefs.SetInt("Bulan_hp", 20);
}

// Then call get value
bulan_fullhp = PlayerPrefs.GetInt("Bulan_hp");

Или вы можете назначить значение по умолчанию этим ..

bulan_fullhp = PlayerPrefs.GetInt("Bulan_hp", 20);

Так что это не будет 0 в первый раз.

0 голосов
/ 17 октября 2018

Это может быть связано с масштабированием интерфейса пользователя на мобильном устройстве.Попробуйте отобразить текст в виде текста на экране вместо ползунка, чтобы убедиться, что ваш уровень здоровья равен 20.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...