Ich versuche, ein Minispiel zu machen, aber zuerst lerne ich zu animieren :) es wird ein 2D-Spiel sein. Also mein Problem ist, wenn ich versuche, ein Rechteck zu zeichnen, wenn ich versuche zu animieren (ich tat viel Code, aber nicht funktioniert :() es funktioniert nicht.Java Swing Versuchen Sie, eine kleine Animation mit Rechteck zu machen
Einige kann mir helfen, es zu beheben oder hinzuzufügen einige Tipps, wie ich kann versuchen, es zu tun.
public class Window extends JPanel implements ActionListener {
Timer tm = new Timer(5 , this);
int x2 = 0 , velX = 2;
static int x= 500;
static int y= 500;
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.RED);
g.fillRect(x2, 30, 30, 30);
tm.start();
}
public Window(){
JFrame f = new JFrame();
f.pack();
f.setTitle("Game");
f.setSize(x,y);
f.setVisible(true);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
}
/*public void paint(Graphics g){
Graphics2D g2d = (Graphics2D) g;
Rectangle rect = new Rectangle(50, 50, 50, 50);
g2d.translate(25, 25);
g2d.rotate(Math.toRadians(45));
g2d.draw(rect);
}*/
public static void main(String [] args) throws InterruptedException{
Game g = new Game();
g.setName("Test");
System.out.println(g.getName());
g.setScore();
}
@Override
public void actionPerformed(ActionEvent e) {
x2 = x2 + velX;
repaint();
}
}
Ihr Code einen Blick nehmen nie einen 'Window' an einem Rahmen hinzufügt. Wenn Sie es jedoch hinzufügen, funktioniert es gut, soweit ich das beurteilen kann. – resueman
Ich empfehle Ihnen, Ihren Klassennamen von 'Window' in etwas anderes zu ändern (wie MyWindow/userGUI/etc). Es gibt eine AWT-Klasse namens ['Window'] (https://docs.oracle.com/javase/7/docs/api/java/awt/Window.html), die Ihnen in der Zukunft Probleme bereiten könnte. – Frakcool