Stellen Sie eine analoge Uhr rechtzeitig mit Gesten ein, berühren Sie die Minuten im Uhrzeigersinn oder gegen den Uhrzeigersinn

StackOverflow https://stackoverflow.com//questions/24039913

Frage

Ich stecken Sie, dass ich versuche, eine Klasse zu erstellen, mit der Benutzer rechtzeitig eine analoge Uhr einstellen können. Sie müssen nur wenige Hand, keine Stundenhand, im Uhrzeigersinn oder gegen den Uhrzeigersinn, bewegen, um die aktuelle Uhrzeit einzustellen. Die Stunde Hand bewegt sich entsprechend den Fortschritt der Hand, aber ich kann nicht ordnungsgemäß eine Stundenhand bewegen können. Es hat keine glatte Bewegung, wenn sie zwölf Uhr und sechs Uhr reicht, wo Winkelkritische Punkte gibt.

Dies ist mein Training bis zu diesem Moment. Bei zwölf Uhr ist der Winkel gleich 0 Grad, der Mindestwinkel natürlich, und um sechs Uhr beträgt der Winkel 180 Grad, der Maximonnenwinkel. Also, von zwölf bis sechs (im Uhrzeigersinn), haben wir positive Winkel (0,180), und wir haben von sechs bis zwölf (im Uhrzeigersinn) negative Winkel (-180,0). Das ist in Ordnung, aber wenn ich berechnen möchte, was die korrekte Stunde der Stundenhand nach dem Fortschritt der Minutenzählung sein wird, muss ich diese Winkel auf 0-360 Grad Reichweite übersetzen.

Hier geht ich mit Gesten:

generasacodicetagpre.

Hier übersetze ich Winkel:

generasacodicetagpre.

Und hier weiß ich, wann ich winzige Hand einen neuen Spin beginnt:

generasacodicetagpre.

Kann mir jemand zu einem litleidigen Bit helfen? Wenn mir jemand helfen kann, verspreche ich, meine erste ungeborene Tochter auf meine erste ungeborene Tochter zu bringen ... nur ein Scherz.

War es hilfreich?

Lösung

Ich habe entdeckt, wo das Problem war ...

Das Problem waren die "IF-Bedingungen" in der InsidePin () -Methode. Hier, bevor die Überprüfungsbedingungen, übersetzte ich Winkel auf das ursprüngliche Format (von 0 Grad bis 180 Grad für zwölf Uhr bis sechs Uhr, im Uhrzeigersinn, und von -180 Grad bis 0 Grad, für sechs Uhr bis zwölf O 'Uhr auch im Uhrzeigersinn). Stattdessen prüfen Sie stattdessen, ob der Benutzer einen neuen Spin mit einer Minute mit einer Minute anfängt, er fügte / subtrahiert einen neuen Spin, den jeder der Benutzer von mindestens sechs Uhr zwölf Uhr durchläuft.

Ich habe es so behoben, dass ich diese Bedingungen modifiziert, und überprüfe sowohl winzige Handwinkel, bisheriges und aktuelles, auf einem 360-Grad-Format. Wenn der vorherige Winkel größer als 355 Grad ist und der Stromwinkel kleiner als 5 Grad ist, füge ich einen neuen Spin zu mspinnumzahl hinzu. Wenn der vorherige Winkel kleiner als 5 Grad ist und der Stromwinkel größer als 355 Grad ist, subtrange ich einen Spin zu mspinnumber. Ich habe auch den Namen des Verfahrens von Newspin () in CalculateHourhandangriff () geändert.

generasacodicetagpre.

Ich werde auch unnötiger Code in Ontouch () -Methode:

generasacodicetagpre.

Jetzt kann ich wissen, welche Stunde den Benutzer gesetzt hat, denn ich kenne die anfängliche Position der Händeuhr, die Anzahl der Drehungen und den Winkelwinkel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top