Java Swing尝试使用矩形制作一些动画



我尝试做一个迷你游戏,但首先我学会了如何动画:)这将是2D游戏。因此,我的问题是,如果我尝试在尝试动画时尝试绘制矩形的工作(我做了很多代码,但不起作用:()它不起作用。

有些人可以帮助我修复它或添加一些技巧,我该如何尝试。

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();
    }
}

您的代码工作正常,除非您忘记将组件(命名为 Window)添加到容器中(在这种情况下为JFrame)。为此,在Window()构造函数的末尾添加f.add(this);

看看摇摆组件和容器以获取更多信息。

我也建议您看一下标准的java-awt和游戏循环!

相关内容

  • 没有找到相关文章

最新更新