Иконка ресурса

Воспроизведение gif. 0.1

Нет прав для скачивания
Версия(и) Minecraft
1.7.10
Иногда бывают ситуации когда нужно воспроизвести gif анимацию, и тогда в голову приходит мысля разбить её на кадры и воспроизводить их по очереди, но это не удобно. После разбития её на кадры получится много картинок которые будут весить в разы больше самой гифки. Я предлагаю вам не делать так, ведь это можно сделать проще! Вам нужно будет скачать 1 класс, впихнуть его к себе в проект и написать пару строк кода в одной из которых нужно будет указать путь до вашей гифки, ну и воспроизвести её методом gifPlay();. (пример ниже)

Java:
public class Gui_MainMenu extends GuiScreen {
   
    private Gif gif = new Gif(new ResourceLocation(Main.MODID, "textures/test.gif"));
   
    @Override
    public void drawScreen(int x, int y, float tick) {

        //Воспроизведение гифки (входные параметры: xPos, yPos, width, height, scale (не знаю зачем он тут нужен но пускай будет))
        gif.gifPlay(0, 0, width, height, 1);

        super.drawScreen(x, y, tick);
    }

}

И да ещё можно остановить воспроизведение (setConditionStop) или продолжить (setConditionPlay()) (пример ниже) - не знаю может кому надо.

Java:
public class Gui_MainMenu extends GuiScreen {
   
    Gif gif = new Gif(new ResourceLocation(Main.MODID, "textures/test.gif"));
   
    @Override
    public void initGui() {
        buttonList.add(new GuiButton(0, 45, 122, 190, 20, "ПРОДОЛЖИТЬ"));
        buttonList.add(new GuiButton(1, 45, 144, 190, 20, "ОСТАНОВИТЬ"));
    }

    @Override
    protected void actionPerformed(GuiButton button) {
        switch (button.id) {
        case 0:
            //Продолжить воспроизведение гифки
            gif.setConditionPlay();
            break;
        case 1:
            //Остановить воспроизведение гифки
            gif.setConditionStop();
            break;
        }
        super.actionPerformed(button);
    }
   
    @Override
    public void drawScreen(int x, int y, float tick) {

        //Воспроизведение гифки (входные параметры: xPos, yPos, width, height, scale (не знаю зачем он тут нужен но пускай будет))
        gif.gifPlay(0, 0, width, height, 1);

        super.drawScreen(x, y, tick);
    }

}
  • Like
Реакции: PeTcHeNyShOhKa и rogue_one
Автор
Zloy_GreGan
Скачивания
101
Просмотры
1,917
Первый выпуск
Обновление
Оценка
5.00 звёзд 2 оценок
Сверху