2017-02-21 1 views
1

ich erfolgreich den Wert eines UISlider in einem Etikett mit dem Code unten gedruckt einzustellen:In Swift: Wie UISlider Wert als Variable verwenden Drehzahl

@IBAction func valueChanged(_ sender: UISlider) { 

    var currentValue: String = String(Int(sender.value)) 
    statusLabel.text = currentValue 
    } 

Label showing UISlider value.

Was ich will, zu tun ist jetzt, diesen Wert als die Variable "a" im Code unten zu verwenden, der die Dauer der Rotation eines Sprites einstellt.

let rotation = SKAction.rotate(byAngle: .pi * -1, duration: a) 
    let infiniteRotation = SKAction.repeatForever(rotation) 

    centerNode.run(infiniteRotation) 

Vielen Dank.

+0

Dauer in was? Sekunden? Millisekunden? Was funktioniert auch nicht? Fragen Sie, wie Sie den Wert an diesen Wert übergeben können? –

+0

Jede Zahl, die ich zwischen 1 und 5 verwende, erhält die gewünschten Ergebnisse. Ich gehe davon aus, dass sie als Sekunden genommen werden. Ich habe nach "UISlider pass the value" gesucht, aber alle Beispiele waren für das Erstellen eines Labels. Ich möchte den Wert an den "TimeInterval" übergeben, der im obigen Code mit "a" markiert ist, um die Geschwindigkeit der Drehung mit dem Schieberegler zu ändern. – parskahye

Antwort

0

Nur eine globale Variable verwenden ...

var timeAmount = 0 
@IBAction func sliderValueChanged(sender: UISlider) { 
    timeAmount = Int(sender.value) 
    println("Slider and timeAmount changing to \(timeAmount) ?") 
} 

und dann in Ihrer Funktion für die Rotation, benutzen Sie einfach:

func __somefunction__(some params){ 

    ... 

    let rotation = SKAction.rotate(byAngle: .pi * -1, duration: timeAmount) 
    let infiniteRotation = SKAction.repeatForever(rotation) 
    centerNode.run(infiniteRotation) 

    ... 

} 
+0

Vielen Dank. Ich habe den Code ausgeführt, dann die Fehlermeldung: "Verwendung der nicht aufgelösten Bezeichner" timeAmount ". Ich habe die Lösung hier gefunden: http: //stackoverflow.com/questions/34950777/swift-use-of-unresolved-identifier 1) Rechts Ihre MainViewController.swift 2) Wählen Sie Show File Inspector 3) auf der rechten Seitenwand, schauen Ziel Mitgliedschaft 4) Fügen Sie Ihre Klasse durch das Kontrollkästchen Ziel es losgeworden der Fehlermeldung klicken, aber jetzt bekomme ich nur einen Bildschirm mit meinem UISlider und sonst nichts. Ich werde etwas recherchieren. Wenn ich keine Lösung finde, werde ich es mit einem Link zu dieser Seite veröffentlichen. Gott segne dich! – parskahye