У меня есть такой код:
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-
На моем старом компьютере XP запуск XBAP из Visual Studio откроет его в Google Chrome. Я переключился на Windows 7, и теперь запуск XBAP загружает файл, как будто он был ZIP или EXE вместо того, чтобы открыть его в браузере. То же самое происходит в FireFox.
Кто-нибудь знает, почему я вдруг загружаю файл, а не открываю его? И как я могу это исправить?
И да, я знаю, что XBAP не предназначены для запуска на Chrome, но если вы скопируете кучу FireFox dlls в каталог Google\Chrome\Application он работает просто нормально (шаги здесь , если кто-то хочет).
Еще до того, как у меня была эта настройка, она все еще пыталась открыть xbap в хроме, и я мог скопировать URL в IE для тестирования. Теперь он загружает файл, так что я даже не могу этого сделать.