Написать простое меню с кнопками.

67
1
3
Как написать простое меню с кнопками, которое будет открываться в игре по нажатию клавиши?

И как на каждую кнопку повесить событие?


И как написать типо "чат", только чтобы открывался на другую кнопку, и вызывалось событие при вводе текста.
 
Вопрос с менюшкой решил. Кода сейчас выложу. Осталось только чат. Кто поможет буду очень благодарен.
[merge_posts_bbcode]Добавлено: 18.11.2015 19:39:22[/merge_posts_bbcode]

Код:
public class ClickGui extends GuiScreen{
    private int field_146445_a;
    private int field_146444_f;
    private static final String __OBFID = "CL_00000703";

    public void initGui()
    {
        this.field_146445_a = 0; //эт хз для чего
        this.buttonList.clear(); //эт отчищает кнопки
        
        
        
        
        
        this.buttonList.add(new GuiButton(id кнопки, x, y, ширина, высота, имя кнопки)); //добавление кнопки
            
        
        
    }

    protected void actionPerformed(GuiButton p_146284_1_)
    {
        //Вызывается когда нажимаем одну из кнопок в своей менюшке
        int bId =p_146284_1_.id;// тут мы получаем id кнопки который ей задали

        //дальше что хотите, зная id кнопки просто сравниваем.

        switch (bId)
        {
            case 0: //если 0 то
                this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings)); //например настройки
                break;
            case 1:// если 1 то
                this.mc.displayGuiScreen(new GuiMainMenu());
            case 2:// если 2 то
                //сделать что-то
            case 3:// если 3 то
                //сделать что-то
           //можно до бесконечности: case id: сделать что-то
            
        }
    }

   
    public void updateScreen()
    {
        super.updateScreen();
        ++this.field_146444_f;
    }

    //эт вроде нужно, но хз для чего
    public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_)
    {
        this.drawDefaultBackground();
        this.drawCenteredString(this.fontRendererObj, I18n.format("menu.game", new Object[0]), this.width / 2, 40, 16777215);
        super.drawScreen(p_73863_1_, p_73863_2_, p_73863_3_);
    }

}

[merge_posts_bbcode]Добавлено: 18.11.2015 19:41:05[/merge_posts_bbcode]

Код:
//вызов меню:
Minecraft.getMinecraft().displayGuiScreen(new ClickGui());
//убрать меню
Minecraft.getMinecraft().displayGuiScreen((GuiScreen)null);

[merge_posts_bbcode]Добавлено: 18.11.2015 19:42:05[/merge_posts_bbcode]

Помогите реализовать "чат".
 
Назад
Сверху