Анимировать спрайт ходьбу влево и вправо с помощью SpriteSheet - PullRequest
0 голосов
/ 25 января 2019

Как использовать SpriteSheet для анимации движения персонажа влево и вправо? У меня есть spritesheet с точными координатами (x, y, ширина, высота).

Я могу заставить персонажа двигаться с помощью клавиш со стрелками в ActionEvent. В настоящее время этот код в отдельном классе.

Если бы вы могли ссылаться на полезный сайт с пошаговыми инструкциями по анимации, это было бы полезно (особенно если персонаж может двигаться с ActionEvent).

private void init() {
    BufferedImageLoader loader = new BufferedImageLoader();
    BufferedImage spriteSheet = null;
    try {
        spriteSheet = loader.loadImage("8bitmariowalk.png");
    } catch (IOException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }
    SpriteSheet ss = new SpriteSheet (spriteSheet);

    ArrayList<BufferedImage> sprites = new ArrayList<BufferedImage>();

    sprites.add(ss.grabSprite (4, 99, 26, 32)); //left
    sprites.add(ss.grabSprite (38, 99, 32, 32));
    sprites.add(ss.grabSprite (76, 99, 24, 32));
    sprites.add(ss.grabSprite (112, 101, 28, 30));

    sprites.add(ss.grabSprite (6, 171, 26, 32)); //right
    sprites.add(ss.grabSprite (38, 171, 32, 32));   
    sprites.add(ss.grabSprite (80, 171, 24, 32));   
    sprites.add(ss.grabSprite (121, 173, 28, 30));

    mario = new Animator(sprites);
    mario.setSpeed(200);
    mario.start();

}
...