@Marius H
Ich habe das ganze mal ausprobiert, doch bei mir scheint ein Fehler vorzuliegen,
also ich habe mehrere Klassen, eine Sprite Klasse, eine GameView Klasse und einen GameLoopThread,
die Sprite Klasse sieht so aus:
import java.util.Random;
import android.graphics.Bitmap;
import android.graphics.Canvas;
public class Sprite {
private int x = 0;
private int y = 0;
private int xSpeed;
private int ySpeed;
private int width;
private int height;
private Bitmap bmp;
private GameView theGameView;
public Sprite(GameView theGameView, Bitmap bmp) {
this.theGameView = theGameView;
this.bmp = bmp;
this.width = bmp.getWidth();
this.height = bmp.getHeight();
Random rnd = new Random();
ySpeed = rnd.nextInt(10) - 4;
xSpeed = rnd.nextInt(10) - 4;
}
private void abprallen() {
if (x > theGameView.getWidth() - width - xSpeed || x + xSpeed < 0) {
xSpeed = -xSpeed;
}
x = x + xSpeed;
if (y > theGameView.getHeight() - height - ySpeed || y + ySpeed < 0) {
ySpeed = -ySpeed;
}
y = y + ySpeed;
}
public void onDraw(Canvas canvas){
abprallen();
canvas.drawBitmap(bmp, x, y, null);
}
}
Es werden zwei Bitmaps auf dem Bildschirm angezeigt, die ich in der GameView Klasse definiere:
private Sprite theSprite, theSprite2;
.....
bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.figure);
theSprite = new Sprite(this, bmp);
theSprite2 = new Sprite(this, bmp);
nun möchte ich in der Sprite Klasse prüfen, ob die beiden Bitmaps kollidieren, wie kann ich das schaffen ?
Danke schonmal im vorraus
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.