我试图用Java创建一个Pacman游戏,到目前为止我已经显示了背景图像(蓝色和黑色迷宫),但是我无法显示Pacman的图像。当我尝试以与我显示背景相同的方法显示他时,除非我稍微手动改变Jframe的大小,否则他不会出现。即便如此,当他出现时,他的照片右下角还有一个小白方块。我该怎么做才能解决这个问题?有没有其他方法可以插入pacman图像?
这是代码:
JFrame window = new JFrame();
ImageImplement pacman = new ImageImplement(new ImageIcon("C:\\Users\\16ayoubc\\Desktop\\Pacman-moving.gif").getImage());
ImageImplement panel = new ImageImplement(new ImageIcon("C:\\Users\\16ayoubc\\Desktop\\background.png").getImage());
pacman.setLocation(255, 255);
pacman.setVisible(true);
pacman.setOpaque(true);
window.add(pacman);
window.add(panel);
window.setVisible(true);
window.setSize(576,655);
window.setName("Pacman");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
答案 0 :(得分:1)
直接为容器使用JLayeredPane而不是窗口,并在添加组件时指定组件的深度(z顺序)。
答案 1 :(得分:0)
window.add(pacman);
window.add(panel);
你在添加背景之前添加了pacman,所以它正在绘制pacman精灵并且你没有看到它。确保你以相反的顺序在游戏中绘制你的项目,所以首先绘制背景,然后是pacman。
答案 2 :(得分:0)
window.add(pacman);
window.add(panel);
您无法将两个组件添加到BorderLayout的CENTER中。
如果你想让pacman出现在面板上,那么你可以将pacman添加到窗口中:
//window.add(pacman);
panel.add(packman)
window.add(panel);