用java写的弹球游戏,有一张图画不出。

问题:密码都进入if中了打印成功,为什么结果没有话result这张图

实际结果:图片说明

预期结果:图片说明

package javaLearn;

import javax.swing.JFrame;
import javax.swing.RepaintManager;

import java.awt.*;
//import javax.swing.*;
public class BallGame extends JFrame {
    //弹球游戏
    Image ball = Toolkit.getDefaultToolkit().getImage("images/2.png");
    Image desk = Toolkit.getDefaultToolkit().getImage("images/1.png");
    Image result = Toolkit.getDefaultToolkit().getImage("images/3.jpg");

    double x = 100;
    double y = 100;
    double drgee = 3.14/3;
    //设置标记flag控制是否repaint()
    boolean flag = true;

    public void paint(Graphics g) {
        System.out.println("窗口被画了一次!");
        g.drawImage(desk, 0, 30, null);
        g.drawImage(ball, (int)x, (int)y, null);


        x+=10*Math.cos(drgee);
        y+=10*Math.sin(drgee);
        //实现反弹
        if(y > 855-30 || y < 30) {
            drgee=-drgee;
        }
        if(x > 1167-100 || x < 0) {
            drgee = 3.14 - drgee;
        }
        //到达(262,82)停止repaint(),弹出一张图
        if((int)x == 262&& (int)y == 82){

            System.out.println("成功");
            //问题1:密码都进入if中了打印成功,为什么结果没有话result这张图
            g.drawImage(result, 303, 270, null);
            //到达(262,82)停止repaint()
            flag = false;

        }
    }





    void launchFrame() {
        setSize(1167,855);
        setLocation(50, 50);
        setVisible(true);
        while(flag) {
            repaint();
            try {
                Thread.sleep(40);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        BallGame games = new BallGame();
        games.launchFrame();

    }

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问