簡體   English   中英

為什么不能在Unity中使用UI滑塊編輯值

[英]Why can't I edit my values with my UI slider in Unity

我制作了一個UI滑塊,該滑塊根據腳本中的值(播放時間)移動,到目前為止,它運行得很順利。 這是我的滑塊代碼

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;通過滑塊(我已啟用交互功能)來更改播放時間的值playtime = (int)testslider.value; 我知道我無法移動滑塊,因為它會不斷更新testtimer.value = playtime 是否有可用的功能,例如testtimer.onclicked,以便我可以將其放在if函數中並禁用更新?

Slider具有onValueChanged回調,您可以將其用於此目的。

我知道了! :D最后,您需要的是這段代碼

public void adjusttimer(float newtime){
        playtime = (int)newtime;
        }

並像這樣分配方法 在此處輸入圖片說明

它應該工作完美。 :D非常感謝Max Yankov的想法!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM