hay leute,
ich habe versucht ein applet spiel zu programmieren un da muss ich einen Ball abschiessen. Wenn ich jetzt in das applet klicke (um auf den ball zu schiessen) dann hole ich mir die information, wo ich auf der x und y Achs bin und vergleiche es mit der position des Balles auf der x und y Achse aber irgendwie wenn ich auf den Ball klick, dann "treffe" ich ihn nicht und wenn ich hinter den Ball klicke, dann "treff" ich ihn aber . . kann mir da vielleicht jemand weiterhlefen bitte?
hier mal 2 code ausschnitte:
Methode zum überprüfen, ob de Ball getroffen wurde:
Event Handling bei Mausklick:
kann mir da vielleicht jemand weiterhelfen?
ich habe versucht ein applet spiel zu programmieren un da muss ich einen Ball abschiessen. Wenn ich jetzt in das applet klicke (um auf den ball zu schiessen) dann hole ich mir die information, wo ich auf der x und y Achs bin und vergleiche es mit der position des Balles auf der x und y Achse aber irgendwie wenn ich auf den Ball klick, dann "treffe" ich ihn nicht und wenn ich hinter den Ball klicke, dann "treff" ich ihn aber . . kann mir da vielleicht jemand weiterhlefen bitte?
hier mal 2 code ausschnitte:
Methode zum überprüfen, ob de Ball getroffen wurde:
Code:
public boolean userHit(int maus_x, int maus_y) {
if (maus_x >= pos_x - radius && maus_x <= pos_x + radius &
maus_y >= pos_y - radius && maus_y <= pos_y + radius) {
player.addScore (10*Math.abs(x_speed) + 10);
return true;
} else return false;
}
Event Handling bei Mausklick:
Code:
public void mousePressed(MouseEvent e ) {
// Position der Maus holen
int maus_x = e.getX();
int maus_y = e.getY();
// Behandlung von Mausereignissen, währen das Spiel läuft
if (!isStopped) {
// Testen, ob roter Ball getroffen wurde
if (redBall.userHit(maus_x, maus_y)) {
// Ball auf Startposition zurücksetzen
redBall.ballWasHit();
}
// Testen, ob blauer Ball getroffen wurde
if (blueBall.userHit(maus_x, maus_y)) {
// Ball auf Startposition zurücksetzen
blueBall.ballWasHit();
}
}
// Gestopptes Spiel starten
if (isStopped && e.getClickCount() == 2) {
// Alle wichtigen Werte zurücksetzen
isStopped = false;
init();
}
}
kann mir da vielleicht jemand weiterhelfen?