저는 Ap Computer Science의 학생이며 수업 프로젝트는 원하는 게임을 만드는 것입니다. 나는 팩맨 게임을 만들고있다. 난 아직도 전체 개념에 아주 새로운 오전, 그래서 우리는 GUI와 함께 많은 일을하지 않은, 그러나 이것은 내가 지금까지 무엇을 가지고 :팩맨 이미지 추가
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.image.*;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class GameHandler extends JFrame{
JPanel jpanel = new JPanel();
Graphics g;
BufferedImage pacman;
int frame;
int direction;
int x, y;
//final int STEP = 2; If you want to change the speed at which pacman moves accross the screen;
public void popupWindow() {
setSize(400, 400);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame = 0;
direction = KeyEvent.VK_LEFT;
x = 300;
y = 300;
try {
pacman = ImageIO.read(new File("pacman.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
image();
}
public void keyPressed(KeyEvent e) {
direction = e.getKeyCode();
}
public void update() {
frame++;
if (frame > 2) {
frame = 0;
}
switch(direction) {
case KeyEvent.VK_LEFT:
x--;
break;
case KeyEvent.VK_RIGHT:
x++;
break;
case KeyEvent.VK_UP:
y--;
break;
case KeyEvent.VK_DOWN:
y++;
break;
}
}
public void image() {
super.paintComponents(g);
g.drawImage(pacman.getSubimage(frame*10, 0, 37, 30), x, y, null);
}
}
내 문제는 내가로에 출력이 이미지를 수없는 오전입니다
Exception in thread "main" java.lang.NullPointerException
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:70)
at java.awt.Container.paintComponents(Container.java:1890)
at GameHandler.image(GameHandler.java:69)
at GameHandler.popupWindow(GameHandler.java:38)
at Main.main(Main.java:7)
: 화면 나는
popupWindow()
방법 방법
image()
를 호출하려고 할 때이 오류가
수 (나는 g.drawImage dimensiones
내가 모든 출력하지 않고 그것을 조정할 수없는 사실로 인해 오프를하는 내 알)
다른 지점에서 이미지 메서드를 호출 해 보았습니다. 그리고 try/catch에서도 마찬가지입니다. 나는 길을 잃었다.
안녕하세요, @SOuser 님, 안녕하세요. 그냥 참고하시기 바랍니다, 일반적으로 도움이되는 답변을 찾거나 문제를 해결하면 커뮤니티는 상향 회의 및/또는 "받아 들여지는"표시 (귀하의 질문 인 경우)를 높이 평가합니다. 즐겨! – Ben