Hallo an die Runde,
ich habe ein Problem, das ich nicht weiß wie ich am besten einen abprallenden Ball ich mein Programm einbaue.
Der Ball soll folgende Eigenschaften haben:
Würde mich freuen, wen ihr mir Helfen könntet.
Ich bin für jede Hilfe/Tipp dankbar.
ich habe ein Problem, das ich nicht weiß wie ich am besten einen abprallenden Ball ich mein Programm einbaue.
Der Ball soll folgende Eigenschaften haben:
- An jeder wand/Rand oder Objekt mit Einfallswinkel = Ausfallswinkel abprallen
- Die Geschwindigkeit soll einstellbar sein
Würde mich freuen, wen ihr mir Helfen könntet.
Ich bin für jede Hilfe/Tipp dankbar.
Java:
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import static java.awt.Color.BLACK;
import static java.awt.Color.GRAY;
public class BBG {
static JButton button = new JButton();
static JTextField Field = new JTextField();
public static void main(String[] args) {
Funktionen();
}
private static void Funktionen() {
//Interface Attribute
JFrame frame = new JFrame("Brick Breaker Game");
frame.setBounds(30, 30, 700, 720);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setDefaultLookAndFeelDecorated(true);
frame.setLayout(null);
frame.setVisible(true);
frame.add(button);
frame.add(Field);
//SpielFeld Attribute
Field.setBounds(50, 50, 580, 575);
Field.setEnabled(false);
Field.setVisible(true);
//Ball Attribute
//Button Attribute
button.setSize(150, 20);
button.setLocation(260, 560);
button.setBackground(GRAY);
button.setBorder(new LineBorder(BLACK));
button.doClick();
button.setEnabled(false);
button.setVisible(true);
//Ende Attribute
// Anfang KeyEvent
KeyListener keyListener = new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println(e.getKeyCode() + ", " + KeyEvent.VK_RIGHT);
//Button Bewegung (Pfeiltasten + A&D)
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
System.out.println("klappt");
int xPos = button.getX();
System.out.println("xPos: " + button.getX());
if (xPos == 480) {
button.setLocation(480, 560);
} else {
int i = xPos + 10;
button.setLocation(i, 560);
System.out.println("bL: " + button.getLocation());
}
} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
System.out.println("klappt");
int xPos = button.getX();
System.out.println("xPos: " + button.getX());
if (xPos == 50) {
button.setLocation(50, 560);
} else {
int i = xPos - 10;
button.setLocation(i, 560);
System.out.println("bL: " + button.getLocation());
}
}
if (e.getKeyCode() == KeyEvent.VK_D) {
System.out.println("klappt");
int xPos = button.getX();
System.out.println("xPos: " + button.getX());
if (xPos == 480) {
button.setLocation(480, 560);
} else {
int i = xPos + 10;
button.setLocation(i, 560);
System.out.println("bL: " + button.getLocation());
}
} else if (e.getKeyCode() == KeyEvent.VK_A) {
System.out.println("klappt");
int xPos = button.getX();
System.out.println("xPos: " + button.getX());
if (xPos == 50) {
button.setLocation(50, 560);
} else {
int i = xPos - 10;
button.setLocation(i, 560);
System.out.println("bL: " + button.getLocation());
}
}
}
@Override
public void keyReleased(KeyEvent e) {
}
};
//Ende KeyEvent
frame.addKeyListener(keyListener);
}
}