Unity выиграл в позиции Y - PullRequest
       4

Unity выиграл в позиции Y

0 голосов
/ 25 апреля 2020

Так что я пытаюсь реализовать счет, где чем больше я go вверх (в позиции у), тем больше баллов у меня есть, но моя проблема в том, что если я упаду, мой счет уменьшится до, я не хочу этого, я хочу свой счет чтобы быть максимумом, которым я когда-либо был.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class score : MonoBehaviour
{
    public Transform player;
    public Text scoreText;

    private void Update()
    {
        scoreText.text= player.position.y.ToString("0") ;

    }

}

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

Просто объявите переменную для оценки, а затем увеличьте ее, если позиция y больше, чем оценка.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class score : MonoBehaviour
{
    public Transform player;
    public Text scoreText;
    public int score = 0;


    private void Update()
    {
        if(player.position.y > score)
        {
           score = player.position.y;
           scoreText.text= player.position.y.ToString("0");
        }

    }

  }
0 голосов
/ 25 апреля 2020
public Transform player;
public Text scoreText;
float highest; // Store the value of the highest y-coordinate you've reached

private void Start() => highest = player.position.y;

private void Update()
{
    if (player.position.y > highest) // See (*)
    {
        highest = player.position.y;
        scoreText.text = highest.ToString("0");
    }
}

(*) Если вы на go выше, чем раньше, код в операторе if выполняется. Если вы нажмете go вниз, значение highest не изменится, поэтому код в операторе if не будет выполнен, и ваш счет не уменьшится.

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