Dies ist eine Funktion für die Drehung im Uhrzeigersinn. Der Parameter gibt an, wie viele Grad wir drehen möchten. Wie kann ich es gegen den Uhrzeigersinn drehen?Wie kann ich gegen den Uhrzeigersinn drehen
void rotateClockwise(int degree) {
int currentDegree = getDegree();
int desiredDegree = currentDegree + degree;
if(desiredDegree > 359) {
desiredDegree -= 359;
}
do {
newDegree = getDegree(); // Returns current degree
desiredDegreeSINE = sin(desiredDegree * (PI/180));
currentDegreeSINE = sin(newDegree * (PI/180));
if(desiredDegreeSINE > 0 && currentDegreeSINE < 0) {
newDegree = newDegree - 360;
}
if(newDegree >= desiredDegree) {
// Stop rotating
break;
} else {
// Keep rotating
}
} while(true);
}
Wir drehen jeden Moment um 1 Grad.
Zunächst sollten Sie desiredDegree verwenden - = 360. Und was ist der Sinus für? – user4759923
'newDegree
Wie drehst du? Sicher können Sie sowohl negative Winkel und Winkel> = 360 für die Rotation verwenden, Computer hat keine Angst vor ihnen! Wenn Sie wirklich einen "0..359" -Winkel für das menschliche Lesen oder für irgendein Gerät benötigen, geben Sie einfach '' (Winkel% 360) ' – MBo