2016-06-24 7 views
0

Ich arbeite an einem unity3d 4.7.0f1 Projekt und will Griff des Schiebers, um von min Wert zu max Wert links-rechts zu bewegen und zurück, bis ich auf Knopf klicke.beweglicher Griff des unity3d Schiebers

Was ist der beste Weg?

+0

Meinen Sie damit langsam Pingpong Schleife zwischen min-max? Ist es die neue Standard-Slider-Komponente? – mgear

+0

Ja, wie ein Ping-Pong. Und ja, es ist der UI Slider. Vielen Dank. – dragy

Antwort

3

Hier ist Beispielskript für die Einstellung Slider Wert zwischen 0-max (Mathf.PingPong erwartet min Wert 0 sein). Sie können die Schaltfläche "Zuweisen" anklicken, um dieses Skript zu deaktivieren (so dass die Schleife nicht mehr läuft)

An ein leeres Spielobjekt anhängen, Slider zuweisen, testen.

using UnityEngine; 
using UnityEngine.UI; 

public class SliderPingPong : MonoBehaviour 
{ 
    public Slider slider; 
    public float speed = 1; 
    float pos = 0; 

    void Update() 
    { 
     pos += speed * Time.deltaTime; 
     slider.value = Mathf.PingPong(pos, slider.maxValue); 
    } 
} 

gleiche Skript Quelle in Kern: https://gist.github.com/unitycoder/a69c4ff5324336cfa33bde23c09d7397

+0

Danke, das ist es. – dragy

+0

erwägen, mit 'Mathf.SmoothStep' zu verpacken ... – Fattie