V
vxvcvx 34
Gast
Wenn ich mein *program* laufen lasse kommt der nullpointer:
ABER das program geht trotzdem und ist voll funktionsfähig(zeigt bilder an usw.)
meine haupklasse
meine stein klasse(grass ist GENAU das selbe einfach mit anderen angaben bei Y/X usw)
falls ihr vorschläge zum code habt, bitte sagen da es mein erstes Spiel ohne tutorial ist
Java:
Exception in thread "main" java.lang.NullPointerException
at Frame.<init>(Frame.java:43)
at Frame.main(Frame.java:79)
meine haupklasse
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Frame extends JPanel implements KeyListener, Runnable, MouseListener{
JFrame frame;
Thread th;
private stein stein;
private grass grass;
public Frame(int w, int h) {
this.setPreferredSize(new Dimension(w, h));
stein = new stein();
grass = new grass();
frame = new JFrame("Minecraft2D");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(this);
frame.pack();
frame.setResizable(false);
addMouseListener(this);
addKeyListener(this);
frame.setVisible(true);
frame.addKeyListener(this);
frame.setLocation(200, 200);
th.start();
// frame.setVisible(true);
}
@Override
public void run() {
while(frame.isVisible()){
//
repaint();
try
{
Thread.sleep(10);
} catch (InterruptedException e){}
}
}
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D)g;
g2d.drawImage(stein.getImage(), stein.getX(), stein.getY(), this);
g2d.drawImage(grass.getImage(), grass.getX(), grass.getY(), this);
Toolkit.getDefaultToolkit().sync();
g.dispose();
}
/**
* @param args
*/
public static void main(String[] args) {
new Frame(500,500);
}
@Override
public void mouseClicked(MouseEvent e) {
if(e.getX()<133 && e.getX()>100 && e.getY()>470 && e.getY() < 510){
System.out.println("stein klicked");
}
}
@Override
public void mouseEntered(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mousePressed(MouseEvent arg0) {
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
}
}
@Override
public void keyReleased(KeyEvent arg0) {
}
@Override
public void keyTyped(KeyEvent arg0) {
}
}
meine stein klasse(grass ist GENAU das selbe einfach mit anderen angaben bei Y/X usw)
Java:
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
public class stein {
private String stein = "images/stein.png";
private static int hoehe=32;
private static int breite=32;
private static int x = 100;
private static int y = 470;
private static Image image;
public stein() {
ImageIcon icon = new ImageIcon(stein);
image = icon.getImage();
}
public static int getX() {
return x;
}
public static int getY() {
return y;
}
public void setX(int i) {
x = i;
}
public void setY(int i) {
y = i;
}
public static Image getImage() {
return image;
}
}