@NagerG

Как сделать прибавление единицы к переменной если какая-то переменная стала нулём unity?

Добрый день! Суть вопроса такова: есть кликер 606ee9335204b573882148.png. Как только значение тапов - перменой taps станет нулем нужно чтобы к score - к очкам прибавилась 1.

Сделал такой вариант, но как только выражение taps становиться равно нулю, к переменой score бесконечно прибавляется единица:
if (taps == 0)
{
beh.score_1++;
}

Скрипт тапов:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class pop_on_touch : MonoBehaviour
{
public Vector2 scale1;
public UnityEngine.UI.Text GoldDisplay;
public uint taps = 50;
private score beh;

void Awake()
{
beh = GetComponent();
}

void Update()
{
if(Input.GetMouseButton(0))
{
transform.localScale = Vector2.Lerp(transform.localScale, scale1, 20.0f * Time.deltaTime);

}
else
{
transform.localScale = new Vector2(6, 6);
}
GoldDisplay.text = "Тапов: " + taps;
if (Input.GetMouseButtonDown(0))
{
taps -= 1;

}
if (taps == 0)
{
beh.score_1++;
}

}

}

Скрипт Очков:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class score : MonoBehaviour
{
public UnityEngine.UI.Text ScoreDisplay;
public int score_1 = 0;
void Start()
{

}

// Update is called once per frame
void Update()
{
ScoreDisplay.text = "Очков: " + score_1;
}
}
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
Ну так не в апдейте проверяйте количество тапов. А при тапе.
Ответ написан
@WaterSmith
Android-разработчик. Java, Kotlin
Исправьте так:
void Update() {
    if(Input.GetMouseButton(0)) {
        transform.localScale = Vector2.Lerp(transform.localScale, scale1, 20.0f * Time.deltaTime);
    } 
    else {
        transform.localScale = new Vector2(6, 6);
    }
    GoldDisplay.text = "Тапов: " + taps;
    if (Input.GetMouseButtonDown(0)) {
        taps -= 1;
        if (taps == 0) {
            beh.score_1++;
        }
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы