Как я могу использовать изображение в качестве объекта в Java? - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь создать игру и не знаю, как использовать изображение в качестве контролируемого игроком персонажа. У меня есть класс, который делает объект управляемым пользователем, и все работает, дело в том, что я должен был основывать контролируемый пользователем символ в качестве прямоугольника для его позиционирования и перемещения, поэтому он должен оставаться в виде прямоугольника, в котором мой поиск подходит коротко. По сути, мне интересно, могу ли я просто вставить изображение поверх имеющегося у меня прямоугольника, чтобы оно прилипало к нему. вот мой класс персонажей:

class Flyer{
    static int panelWidth = 2200;
    static int panelHeight = 1800;

    public static Rectangle flyer = new Rectangle(panelWidth / 2 - 100, panelHeight / 2 - 100, 20, 20);
    public static Rectangle flyer2;
    public static int vertical;
    public int startingY = 0;
    public int newY;

    Flyer(){
        super();
    }


    public void repaint(Graphics g) {
        int panelWidth = 2200;
        int panelHeight = 1800;

        if (vertical == startingY) {
            startingY = flyer.y;

            g.setColor(Color.red);
            g.fillRect(flyer.x, startingY, flyer.width, flyer.height);
        } else {
            newY = startingY + vertical;
            g.setColor(Color.red);
            g.fillRect(flyer.x, newY, flyer.width, flyer.height);
        }
    }
}

1 Ответ

0 голосов
/ 08 мая 2018

Класс Graphics имеет другие методы, которые могут оказаться полезными и которые вам покажет его Graphics API . Среди них есть несколько перегрузок, называемых drawImage(...)

Ваш класс Flyer может содержать поле BufferedImage, а затем размещать изображение в нужном месте через поля x и y, которые вы уже используете, например, через g.drawImage(myImage, x, y, null);

Если изображение нуждается в направленности, вы можете сделать так, чтобы класс содержал несколько изображений, и выберите правильное на основе состояния поля направления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...