Чтобы подвести итог, я могу: У меня есть код, который устанавливает логическое значение в true.Когда этот маленький флажок включен, он работает как задумано, позволяя игре нормально функционировать.
Однако позже код в какой-то момент устанавливает это логическое значение в false (помните, что это public логическое значение).К сожалению, когда этот флажок включен.Консоль читает «true, false, true, false» и т. Д., Что предотвращает желаемый результат.
Если я отключу этот флажок, то на выходе будет выведено «false, true, false, true» и т. Д., Что мешает работе чего-либо.
Есть ли способ отключить этот дурацкий флажок для какого-либо эффекта в игре?Я попытался [system.nonserialized] безрезультатно.По крайней мере, есть ли способ отключить и включить этот флажок в коде?
По запросу, вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class startAgain : MonoBehaviour {
public bool start;
// Use this for initialization
void Start () {
//start = true;
}
public void use ()
{
start = true;
}
// Update is called once per frame
void Update () {
print(start);
}
public void rest()
{
StartCoroutine(Waittostart());
Vector3 ball = GameObject.Find("Ball").transform.localPosition = new Vector3(0,0,0);
Transform lpadlx = GameObject.Find("Player Paddle").transform;
Vector3 lpadpos = lpadlx.position;
Vector3 leftpaddle = GameObject.Find("Player Paddle").transform.position = new Vector3(lpadpos.x, 0, 0);
Transform rpadlx = GameObject.Find("AI Paddle").transform;
Vector3 rpadpos = rpadlx.position;
Vector3 rightpaddle = GameObject.Find("AI Paddle").transform.position = new Vector3(rpadpos.x, 0, 0);
}
IEnumerator Waittostart()
{
print("RUNNING!");
start = false;
yield return new WaitForSeconds(2);
start = true;
}
}
(обратите внимание, что некоторые из них использовались для отладкитак что некоторые биты будут неуместны только для проверки!)
Спасибо!Надеюсь, это было достаточно ясно.