Я пытаюсь иметь возможность возродиться, а также сбросить подсчет очков, как только я войду в свой «Золотой» объект. На данный момент я даже не могу возродиться, что было возможно раньше, до попытки реализовать «Score-Stuff» (сначала скрипт «FoundGold» использовался только для возможности возрождения). Также я пытаюсь сделать самый низкий балл High-Score. Обратите внимание, что я новичок в C #, и я как бы собрал все из учебников, которые мне нужны, поэтому ответ с некоторым фактическим кодом / указанием, где что-то пошло не так, был бы очень признателен.
//GoldFound Code
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GoldFound : MonoBehaviour
{
private ScoreManager theScoreManager;
public Transform target;
[SerializeField] private Transform player;
[SerializeField] private Transform respawnpoint;
private void Start()
{
theScoreManager = FindObjectOfType<ScoreManager>();
}
private void OnTriggerEnter(Collider other)
{
theScoreManager.scoreIncreasing = false;
player.transform.position = respawnpoint.transform.position;
theScoreManager.scoreCount = 0;
theScoreManager.scoreIncreasing = true;
}
}
другой код
//ScoreManager
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ScoreManager : MonoBehaviour
{
public Text scoreText;
public Text hiScoreText;
public float scoreCount;
public float hiScoreCount;
public float pointPerSecond;
public bool scoreIncreasing;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (scoreIncreasing)
{
scoreCount += pointPerSecond * Time.deltaTime;
}
if(scoreCount > hiScoreCount)
{
hiScoreCount = scoreCount;
}
scoreText.text = "Score: " + Mathf.Round (scoreCount);
hiScoreText.text = "High Score: " + Mathf.Round (hiScoreCount);
}
}
OnGUI()
? Во-вторых, вы должны обновлять счет только в случае его изменения, а не каждый кадр. - person Antry   schedule 26.03.2018theScoreManager.scoreIncreasing
вtrue
иfalse
в одном вызове, видя, что он никогда не используется между ними, в основном это всегдаtrue
, что заставляет меня не понимать его цель. - person Antry   schedule 26.03.2018if(scoreCount < hiScoreCount) { hiScoreCount = scoreCount; }
- person Antry   schedule 26.03.2018bool theScoreManager.scoreIncreasing
, бесполезно. Это всегда верно, по крайней мере, после того, как вы прикоснулись к материалам GoldFound. Я тоже не вижу необходимости в этой системе. вы могли бы сделать то же самое без. - person Antry   schedule 26.03.2018