2016-01-12 2 views
2

Итак, для моей 2D-игры я хочу использовать изображение для представления игрока, но когда я пытаюсь использовать изображение, он говорит мне, что он не может быть «создан». Я не знаю, что это значит:Java не может создать экземпляр изображения?

public class PlayerOne extends Entity{ 
    private Image img = new Image(); 
[...] 
    @Override 
    public void render(Graphics g){ 
    g.drawImage(img , x, y, Color.BLUE, new ImageObserver()); 
    } 
} 

Я попробовал его в другом классе с BufferedImages, но что-то не работает.

Поэтому он не может создавать объекты ни изображения, ни ImageObserver. Кто-нибудь знает, исправить эту ошибку?

+1

«Абстрактный класс Image - это суперкласс всех классов, представляющих графические изображения. Изображение должно быть получено с помощью платформы». – Marvin

ответ

1

Для начала нужно иметь файл изображения (например, .png). Затем используйте

Image img = new ImageIcon("img.png").getImage(); 
+0

спасибо, но вы знаете, как исправить проблему imageobserver, а также xd? – Toreole

+0

Я считаю, что ImageObserver - это интерфейс, вы должны написать класс, который реализует его и создает экземпляр этого класса. – SomeDude

2

Вы не можете создать экземпляр abstract class. См. link.

следующий синтаксис будет введена в эксплуатацию:

private Image image = new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB); 

Также см link для получения дополнительной информации о BufferedImage. Кроме того, здесь приведен учебник, который иллюстрирует реализацию example;