Как связать переменные в Unity?
Всем привет, у меня есть проблемы которые я не могу решить. Я хочу чтобы переменные top и money зависели от значение переменной sub.
Например:
Если переменная sub например имеет число 548, то в переменной money пауза в секунду становиться 0.4f yield return new WaitForSeconds(0.4f); и в переменной top пауза в секунду становиться 4yield return new WaitForSeconds(5);. То есть, чем больше число в переменной sub, тем быстрее идет набор чисел в переменных top и money.
Как то так. Вот весь код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Game : MonoBehaviour
{
public Text sub;
public int score;
public Text money;
public int score1;
public Text top;
public int score2;
void Start()
{
StartCoroutine(CountPoints());
StartCoroutine(CountPoints1());
StartCoroutine(CountPoints2());
}
IEnumerator CountPoints()
{
while (score < 10000)
{
sub.text = score.ToString();
score++;
yield return new WaitForSeconds(1);
}
}
IEnumerator CountPoints1()
{
while (score1 < 10000)
{
money.text = score1.ToString();
score1++;
yield return new WaitForSeconds(0.5f);
}
}
IEnumerator CountPoints2()
{
while (score2 > 0)
{
top.text = score2.ToString();
score2--;
yield return new WaitForSeconds(5);
}
}
}
Ответы (1 шт):
я уже забыл шарп так что пишу псевдокодом:
Int sub = 548;
float topDelay { get { %сюда пишем линейную функцию от sub% }}
float moneyDelay { get { %сюда пишем вторую линейную функцию от sub% } }
как выглядят линейные функции можно взглянуть на википедии
и соответственно передаешь их как аргумент WaitForSeconds(topDelay);
ну и соответственно никто не знает какую линейную функцию тебе нужно написать потому что только ты знаешь с какой зависимостью ты хочешь получить прирост или падение topDelay и moneyDelay относительно sub