-1

我正在制作一个击落鸟类的游戏。我已经制作了一个充当十字准线的演员,跟随鼠标。

这是产生错误的代码(setLocation 是第 18 行):

MouseInfo mouse = Greenfoot.getMouseInfo();
setLocation(mouse.getX(), mouse.getY());

和错误代码:

java.lang.NullPointerException
    at Crosshair.act(Crosshair.java:18)
    at greenfoot.core.Simulation.actActor(Simulation.java:565)
    at greenfoot.core.Simulation.runOneLoop(Simulation.java:523)
    at greenfoot.core.Simulation.runContent(Simulation.java:213)
    at greenfoot.core.Simulation.run(Simulation.java:203)
4

1 回答 1

1

如果您编写的代码中有空指针异常,则意味着您的 mouseinfo 对象为空。

根据文档

获取鼠标信息

public static MouseInfo getMouseInfo() 返回一个带有鼠标状态信息的鼠标信息对象。

返回:有关鼠标当前状态的信息,如果鼠标光标在世界边界之外(除非被拖动),则返回 null。

基本上,这意味着当调用该方法时您的鼠标超出边界。

为了帮助您更多,请描述您希望达到的具体目标。

于 2012-09-06T06:15:05.490 回答