我得到这个错误,每当我按下空格键(拍摄“导弹”),我不能找出如何解决它,在所有。NullPointerException异常错误与渲染
Exception in thread "Thread-0" java.lang.NullPointerException
at com.game.main.Bullet.render(Bullet.java:26)
at com.game.main.Controller.render(Controller.java:58)
at com.game.main.Game.render(Game.java:155)
at com.game.main.Game.run(Game.java:108)
at java.lang.Thread.run(Thread.java:745)
我将列出出现错误的代码,因为我有9个类。
的Bullet
误差线:
g.drawImage(tex.missile, (int)x, (int)y, null);
tex.missile
是从纹理类BufferedImage
变量,并且被设置为
missile = ss.grabImage(2, 1, 32, 32);
ss
是SpriteSheet
类,并且设置为new SpriteSheet(game.getSpriteSheet());
SpriteSheet
班只获得SpriteSheet
,只是每平方米设置一个行/列等一切有工作作为我的球员&敌人都工作。
控制器错误行:
tempBullet.render(g);
Game.render错误行:
c.render(g);
Game.run错误行:
render();
我很怀疑它有什么用Game
班,或类似的东西,但我认为这与有关班,但又一次。我可能是,很可能是错的。我认为有些东西可能设置不正确。
如果你要我表现出全班同学,我会的。告诉我你需要哪一个。
编辑: g.drawImage是这种方法
public void render(Graphics g){
g.drawImage(tex.missile, (int)x, (int)y, null);
}
当你调用'g.drawImage(...)'时,'g'是什么类型? – Foggzie 2014-11-01 23:18:17
测试其中的一个是否为空:'g','tex','x'或'y'(如果使用像Integer这样的包装类,则x和y可以为null)。 – Tom 2014-11-01 23:19:08
@GuntherFox最有可能是'Graphics'实例:http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html#drawImage%28java.awt.Image,%20int,%20int ,%20java.awt.image.ImageObserver%29 – Tom 2014-11-01 23:19:46