グリッドワールドのケーススタディでは、私の最後のプロジェクトでゲームを作成しています。ゲームでは、プレーヤーが「W」キーをクリックすると、shiftUp()メソッドが呼び出され、特定のインスタンスの他のすべてのアクターが下に移動して、プレーヤーが動いているような錯覚を引き起こします。これはメソッドの完成した実装ではありませんが、グリッド内のすべてのアクターを取得し、それらがActorを拡張するEnemyと呼ばれるクラスのインスタンスであるかどうかをテストする必要があります。その場合、俳優は1スペース上に移動する必要があります。このメソッドを呼び出すと、enemy.moveTo(...);を呼び出す行でNullPointerExceptionが呼び出されます。nullかどうかを確認するので、これは発生しないはずです。誰かがこれを手伝ってくれますか?私はこれを取得します:スレッド「AWT-EventQueue-0」の例外java.lang.NullPointerException
public void shiftUp()
{
if (((GameGrid)getGrid()).getMinX() != 0)
{
Grid<Actor> grid = getGrid();
if (grid != null)
{
for (int y = 0; y < getGrid().getNumRows(); y++)
for (int x = 0; x < getGrid().getNumCols(); x++)
{
Actor enemy = grid.get(new Location(y,x));
if (enemy != null && enemy instanceof Enemy)
enemy.moveTo(new Location(enemy.getLocation().getRow() - 1, enemy.getLocation().getCol()));
}
}
}
}