Почему это приводит к исключению нулевого указателя?

У меня есть такой код:

public class Sprite {
    protected float x;
    protected float y;
    protected Image image;
    protected Rectangle boundingBox;

    Sprite(float x, float y, Image image) {
        this.x = x;
        this.y = y;
        this.image = image;
        boundingBox = new Rectangle(x, y, 
            this.image.getWidth(), this.image.getHeight());
    }

...

public Rectangle getBoundingBox() {
    return boundingBox;
}

Однако при вызове этой функции в другом классе после определения и инициализации объекта sprite:

public static boolean collides(Sprite object1, Sprite object2) {
    return object1.getBoundingBox().intersects(object2.getBoundingBox());
}

Я получаю исключение нулевого указателя, указывающее на строку, которая содержит следующее:

this.image.getWidth(), this.image.getHeight());

Почему это?

-121--854369-

Как получить XBAP для запуска в моем браузере вместо загрузки в Windows 7? На моем старом компьютере XP, запуск XBAP из Visual Studio откроет его в Google Chrome. Я переключился на Windows 7, и теперь запуск XBAP загружает файл, как будто это ZIP или EXE вместо...

На моем старом компьютере XP запуск XBAP из Visual Studio откроет его в Google Chrome. Я переключился на Windows 7, и теперь запуск XBAP загружает файл, как будто он был ZIP или EXE вместо того, чтобы открыть его в браузере. То же самое происходит в FireFox.

Кто-нибудь знает, почему я вдруг загружаю файл, а не открываю его? И как я могу это исправить?

И да, я знаю, что XBAP не предназначены для запуска на Chrome, но если вы скопируете кучу FireFox dlls в каталог Google\Chrome\Application он работает просто нормально (шаги здесь , если кто-то хочет).

Еще до того, как у меня была эта настройка, она все еще пыталась открыть xbap в хроме, и я мог скопировать URL в IE для тестирования. Теперь он загружает файл, так что я даже не могу этого сделать.

7
задан Community 23 May 2017 в 12:03
поделиться