各位大侠,我想用java做一个小游戏,想在当中加入动态的效果, 但是不知道怎么做,望各位大侠指导!!!  还有就是那个点击按钮以后出现界面的切换,那种从一边抽走的效果是怎么做出来的啊 ???

解决方案 »

  1.   

    你要写游戏可以下看看别人的  这个论坛就有很多 有一个好像叫 300行的 俄罗斯方块 你可以看看你这个效果估计得自己画 用添加一个panel 获得graphic画上再刷新等 想不闪烁还得用双缓冲 
      

  2.   


    import java.io.IOException;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.image.*;
    import java.io.File;
    import javax.imageio.ImageIO;
    public class NewClass {
        JFrame frame;
        JPanel contentPane;
        BufferedImage image;
        int x;
        public NewClass(){
            try {
                image = ImageIO.read(new File("1.jpg"));//此文件在当前目录下
                x=0;
                frame = new JFrame();
                contentPane = new JPanel() {
                    public void paint(Graphics g) {
                        int width=this.getWidth();
                        int height=this.getHeight();
                        g.setColor(Color.white);
                        g.fillRect(0, 0, width, height);
                        g.drawImage(image, x, 0, null);
                    }
                };
                contentPane.setPreferredSize(new Dimension(600,600));
                frame.setContentPane(contentPane);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.pack();
                frame.setVisible(true);
                new Thread(){
                    public void run(){
                        while(true){
                            try {
                                Thread.sleep(20);
                                x+=10;
                                if(x>600){
                                    x=0;
                                }
                                contentPane.repaint();
                            } catch (InterruptedException ex) {
                                ex.printStackTrace();
                            }
                        }
                    }
                }.start();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        public static void main(String args[]){
            new NewClass();
        }
    }