Hallo, bevor ich dir hier helfen kann.
So wie ich es sehe bestehen deine Steine aus zwei Rechtecken oder?
Wie ist die Zuordnung der Punkte zu den Rechtecken?
SpielStein.x1; SpielStein.y1;
SpielStein.x2; SpielStein.y2;
SpielStein.x3; SpielStein.y3;
SpielStein.x4; SpielStein.y4;
Ich bin davon ausgegangen das du vier Rechtecke für deinen Stein benutzt. Können aber eigentlich nur zwei sein. Denn es sind nur 4 Punkte. Die Variablennahmen sind auch etwas nichts sagend.
Deshalb auch im letzten Post von mir das mit der Vier was dich wohl etwas durch einander gebracht hat.
und nun die Punkte seinbar einzeln zu drehen versuchst.
Hättest aber auch nachfragen können.
Auf meinen Vorschlag mit der Matrix und den Rechtecken bist du nicht eingegangen.
Du versuchst weiter die Punkte einzeln zu drehen dafür müsstest du viel Mathematische Berechnungen mit Cos und Sin machen. Das nimmt dir die Matrix ab.
Ich denke die Zuordnung ist so.
RectF r1 = new RectF( SpielStein.x1, SpielStein.y1, SpielStein.x2, SpielStein.y2);
RectF r2 = new RectF( SpielStein.x3, SpielStein.y3, SpielStein.x4, SpielStein.y4);
Darauf aufbauend meine Dreh Methode
public Stein rotiereStein(Stein SpielStein, int winkel) {
Matrix m = new Matrix();
Stein stein = new Stein();
RectF r1 = new RectF( SpielStein.x1, SpielStein.y1, SpielStein.x2, SpielStein.y2);
RectF r2 = new RectF( SpielStein.x3, SpielStein.y3, SpielStein.x4, SpielStein.y4);
m.setRotate(winkel, SpielStein.x1, SpielStein.y1); // den Drehpunkt must du estscheiden
m.mapRect(r1);
m.mapRect(r2);
stein.x1 = (int) r1.left;
stein.y1 = (int) r1.top;
stein.x2 = (int) r1.right;
stein.y2 = (int) r1.bottom;
stein.x3 = (int) r2.left;
stein.y3 = (int) r2.top;
stein.x4 = (int) r2.right;
stein.y4 = (int) r2.bottom;
return stein;
}
Wenn du in deiner Stein Klasse auch gleich Rechtecke „RectF“ benutzt ist das einfacher. Canvas kann damit auch umgehen.
Du darfst die Punkte nicht einzeln drehen. Immer ein Rechteck.
Hoffe das hilft erst mal weiter.
Ps. Ich weiß mit dem Nachfragen ist es hier im Forum etwas Doof da man nicht weiß wer Online ist.
Das währe eine sinnvolle Erweiterung des Forums.
— geändert am 21.05.2018, 11:17:24
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.