Почему я не могу редактировать свои значения с помощью ползунка пользовательского интерфейса в UnityC#

Место общения программистов C#
Ответить
Anonymous
 Почему я не могу редактировать свои значения с помощью ползунка пользовательского интерфейса в Unity

Сообщение Anonymous »

Я создал ползунок пользовательского интерфейса, который перемещается в соответствии со значением в моем скрипте (время игры), и до сих пор он работает плавно. вот мой код слайдера

Код: Выделить всё

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

public class testingtime : MonoBehaviour {

public int playtime = 0;
public int seconds = 0;
private int minutes = 0;
private int hours = 0;
public int playtimemax = 0;

public Slider testslider;
public Texture playbutton;
public Texture Pausebutton;

Texture substitute;
bool ispaused = false;

// Use this for initialization
void Start () {
substitute = Pausebutton;
StartCoroutine ("playtimer");
}

private IEnumerator playtimer(){
while (true) {
yield return new WaitForSeconds(1);
playtime += 1;
seconds = (playtime % 60);
minutes = (playtime / 60) % 60;
hours = (playtime / 3600) % 24;
}
}

// Update is called once per frame
void Update () {
testslider.value = playtime;

if (ispaused) {
Time.timeScale = 0;
substitute = playbutton;
}
if (!ispaused) {
Time.timeScale = 1;
substitute = Pausebutton;
}
playtime = (int)testslider.value;

}
void OnGUI (){
if (GUI.Button (new Rect (685,710, 20, 20), substitute)) {
ispaused = !ispaused;
}

GUI.Label (new Rect (50, 50, 400, 50), "Playtime = " + hours.ToString () + " Hours " + minutes.ToString () + " Minutes " + seconds.ToString () + " Seconds");
}
}
По сути, мой ползунок перемещается в зависимости от времени игры, которое увеличивается на 1 каждую секунду, как таймер.
Однако я попытался изменить значение время воспроизведения через ползунок (у меня включено взаимодействие) с кодом playtime = (int)testslider.value;.
Я знаю, что не могу переместить ползунок, потому что он сохраняет обновление testtimer.value = playtime.
Есть ли какая-нибудь доступная функция, например testtimer.onclicked, чтобы я мог поместить ее в функцию if и отключить обновление?

Подробнее здесь: https://stackoverflow.com/questions/300 ... r-in-unity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»