Sascha D.
- Forum-Beiträge: 74
02.03.2012, 10:23:28 via Website
02.03.2012 10:23:28 via Website
folgendes problem:
wenn ich meine swing variante nehme klappt alles. das auto dreht genauso wie meine crashpunkte am auto. verwendet habe ich folgendes:
für die crashpunkte:
float radWinkel = (float) (winkel / 180.0 * Math.PI);
float ex2 = (float) (sx + laenge * Math.sin(angle - radWinkel));
float ey2 = (float) (sy + laenge * Math.cos(angle - radWinkel));
und für die grafik:
BufferedImage rotateImage(BufferedImage src, double degrees) {
AffineTransform affineTransform = AffineTransform
.getRotateInstance(Math.toRadians(degrees),
src.getWidth() / 2, src.getHeight() / 2);
BufferedImage rotatedImage = new BufferedImage(src.getWidth(),
src.getHeight(), src.getType());
Graphics2D g = (Graphics2D) rotatedImage.getGraphics();
g.setTransform(affineTransform);
g.drawImage(src, 0, 0, null);
return rotatedImage;
}
nehme ich aber jetzt bei android für die crashpunkte auch sin, cos klappt aber mit matrix das auto drehen ala so:
Matrix matrix = new Matrix();
matrix.postRotate(-auto_grad);
Bitmap rotatedBitmap = Bitmap.createBitmap(BI_auto, 0, 0,
BI_auto.getWidth(), BI_auto.getHeight(), matrix, true);
canvas.drawBitmap(rotatedBitmap, autox, autoy, null);
ist das auto versetzt zu den crashpunkten.
ausserdem ist mit aufgefallen in swing muss das auto aufm kopf stehen und in android normal.
warum ist das so ?
gibt es noch eine andere variante das auto oder die crashpunkte zu drehen, damit beides gleich ist ?
wenn ich meine swing variante nehme klappt alles. das auto dreht genauso wie meine crashpunkte am auto. verwendet habe ich folgendes:
für die crashpunkte:
float radWinkel = (float) (winkel / 180.0 * Math.PI);
float ex2 = (float) (sx + laenge * Math.sin(angle - radWinkel));
float ey2 = (float) (sy + laenge * Math.cos(angle - radWinkel));
und für die grafik:
BufferedImage rotateImage(BufferedImage src, double degrees) {
AffineTransform affineTransform = AffineTransform
.getRotateInstance(Math.toRadians(degrees),
src.getWidth() / 2, src.getHeight() / 2);
BufferedImage rotatedImage = new BufferedImage(src.getWidth(),
src.getHeight(), src.getType());
Graphics2D g = (Graphics2D) rotatedImage.getGraphics();
g.setTransform(affineTransform);
g.drawImage(src, 0, 0, null);
return rotatedImage;
}
nehme ich aber jetzt bei android für die crashpunkte auch sin, cos klappt aber mit matrix das auto drehen ala so:
Matrix matrix = new Matrix();
matrix.postRotate(-auto_grad);
Bitmap rotatedBitmap = Bitmap.createBitmap(BI_auto, 0, 0,
BI_auto.getWidth(), BI_auto.getHeight(), matrix, true);
canvas.drawBitmap(rotatedBitmap, autox, autoy, null);
ist das auto versetzt zu den crashpunkten.
ausserdem ist mit aufgefallen in swing muss das auto aufm kopf stehen und in android normal.
warum ist das so ?
gibt es noch eine andere variante das auto oder die crashpunkte zu drehen, damit beides gleich ist ?
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.