Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Вопросы Мои Вопросы

Запись дроби в счётчик монет (текст)

UnityC#2D

Здравствуйте, я хотел спросить, как мне сделать так чтобы в счётчике монет (текст) записывался дробью
вот код:


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

public class ClikerManager : MonoBehaviour
{
    [SerializeField] float Score = 0f;
    public float[] CostInt; //цена
    private float ClickScore = 1f; //сколько получаем монет за клик
    public float[] CostBonus; //цена пасс. дохода
    private float TotalBonus;

    public Text[] CostText; //текст с ценой
    public Text ScoreText; //текст с монетами

    private void Start()
    {
        StartCoroutine(BonusShop());
    }

    public void OnClickButton()
    {
        Score += ClickScore; //прибавление монет за клик
    }

    private void Update()
    {
        ScoreText.text = Score + "$"; //запись баланса (Текст)
        Achievement1NameText.text = "Нажмите " + Achievement1Max + "/1000 раз";

        ScoreText.text = ReductionNum._ReductionNum(Score) + "$";

        for (int i = 0; i < CostText.Length; i++)
        {
            CostText[i].text = ReductionNum._ReductionNum(CostInt[i]) + "$";
        }
    }

    IEnumerator BonusShop()
    {
        while (true)
        {
            Score += CostBonus[0]; //сколько будем получать самого начала (Defolt: 0)
            yield return new WaitForSeconds(10); //сколько должно пройти времени когда получим деньги
        }
    }


Комментарии

6
Admin 1 месяц назад

Попробуй это

Score.ToString("#.##") + "$"

Ну или это
Score.ToString("F2") + "$"

Fin4ik 1 месяц назад

Admin, увы но не работает

Admin 1 месяц назад

Fin4ik, Правильно ли я понимаю, что:
число 1 должно отображаться в игре как 1.00?
5.7 как 5.70 ?
2.333 как 2.33 ?
Если да, то мой второй способ 100% рабочий. Только что проверил этот код и всё ок.

public float num = 3.444f;
Debug.Log(num.ToString("F2") + "$");

Fin4ik 1 месяц назад

Admin, да всё правильно, но у меня вопрос, зачем мне выводить в консоль, если мне нужно выводить в текст UI

Admin 1 месяц назад

Fin4ik, Если в консоле работает, то и в UI всё сработает. Лично только что проверил.

using UnityEngine;
using TMPro;

public class text : MonoBehaviour
{
    public TextMeshProUGUI textUI;
    public float num = 1f;

    void Start()
    {
        textUI.text = num.ToString("F2") + "$";
    }
}

Fin4ik 1 месяц назад

Admin, хорошо, я тогда потом проверю и отпишусь

Гости не могут отвечать на вопросы. Войдите на Сайт или Зарегистрируйтесь