Как сделать улучшение клика в кликере на Unity?
Я новичок в Unity. Я разрабатываю кликер, но я хочу добавить кнопку улучшения клика (+2 за один клик) Но я не знаю, как это сделать. Я перепробовал много вариантов, но кнопка не работает. Нажав на эту кнопку у игрока отберут 1000 очков и улучшат клик. Вот код кнопки, добавляющей очки:
using UnityEngine;
using UnityEngine.UI;
public class clicker : MonoBehaviour
{
private int num;
public Text textNum;
public void Start()
{
num = PlayerPrefs.GetInt("");
}
public void addNum()
{
num++;
textNum.text = num.ToString();
PlayerPrefs.SetInt("",num);
}
}
Я пытался создать функцию shop и добавить переменную click, но при нажатии на кнопку улучшения клик оставался прежним:
using UnityEngine;
using UnityEngine.UI;
public class clicker : MonoBehaviour
{
private int num;
public Text textNum;
private int click;
public void Start()
{
num = PlayerPrefs.GetInt("");
click=1;
}
public void addNum()
{
num+=click;
textNum.text = num.ToString();
PlayerPrefs.SetInt("",num);
}
public void shop()
{
if(num>999)
{
click+=1
}
}
}
Ответы (1 шт):
Автор решения: Ersamuel
→ Ссылка
Для вашего случая нужно будет сохранять значение click
так же, как и значение num
. Для изменения и чтения этих переменных лучше использовать геттеры и сеттеры.
private int num
{
get { return PlayerPrefs.GetInt(""); }
set { PlayerPrefs.SetInt("", value); }
}
private int click
{
get { return PlayerPrefs.GetInt("click", 1); }
set { PlayerPrefs.SetInt("click", value); }
}
Откажитесь от метода Start
для установки значений и перепишите метод addNum
следующим образом:
public void addNum()
{
num += click;
textNum.text = num.ToString();
}