Friday, December 27, 2013

I am getting a NullPointerException in my game and I don't know why?
































So, I am getting a NullPointerException in the drawToScreen method when I try to draw the image... Does anyone know why?
















































Java Code:





































package com.patrickfeltes.game;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

import javax.swing.JPanel;

public class GamePanel extends JPanel implements Runnable {

public static final int WIDTH = 400;
public static final int HEIGHT = 300;
public static final int SCALE = 2;

public static boolean isRunning = false;

private Thread thread;

private static final int targetFPS = 60;
private long targetTime = 1000 / targetFPS;

private BufferedImage image;

private Graphics g, g2;

public GamePanel() {
setPreferredSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));

start();
}

public void start() {
isRunning = true;
thread = new Thread(this);
thread.start();
}


public void run() {

image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);

long start;
long elapsed;
long wait;

while(isRunning) {
start = System.nanoTime();

tick();
draw();
drawToScreen();

elapsed = System.nanoTime() - start;
wait = targetTime - elapsed;

if(wait < 0) {
wait = 17;
}

try {
Thread.sleep(wait);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

public void tick() {

}

public void draw() {
g = image.getGraphics();
g.fillRect(10, 10, 10, 10);

}

public void drawToScreen() {
g2 = getGraphics();
g2.drawImage(image, 0, 0, WIDTH * SCALE, HEIGHT * SCALE, null);
}



}


































































No comments:

Post a Comment