Uso de MicroUI - Honguito98/Seta-MicroUI GitHub Wiki

Aprendiendo a usar MicroUI

(De la manera más horrible :D )

Antes de explicar el uso de MicroUI se debe tomar en cuenta los siguientes conceptos:

  • Elemento: se le dice a todo componente que aparece en una ventana, así como botones, deslizadores, incluso la misma ventana.

  • WindowID: expresa o retiene un número del tipo long cuyo mismo permite la identificación entre ventanas y botones.

  • CurrentID: expresa o retiene un número del tipo long cuyo mismo permite identificar un elemento seleccionado de la interfaz.

  • CursorArea.java: es un ayudante (o helper) para MicroUI.java, el cual permite detectar las pulsaciones del mouse o entrada táctil.

  • WindowProperties, ButtonProperties, SliderBarProperties, etc., Son clases que contendrán temporalmente las propiedades de cada objeto, así como su color, textura, posición, etc.

  • TextureAtlas: el administrador de ventanas (MicroUI.java) necesita de un átlas de texturas para usarlas en los elementos de la interfaz.

Ejemplo sencillo de uso:

SpriteBatch sb;
TextureAtlas skin;
MicroUI ui;
ButtonProperties pauseP;
ButtonProperties playP; 
ButtonProperties stopP;
ButtonProperties prevP;
ButtonProperties nextP;
ButtonProperties menuP;

@Override
public void create () {
	skin = new TextureAtlas("atlas.txt"); /* Load textures */
	ui = new MicroUI(skin); /* 'send' these textures to MicroUI instance */

	pauseP = new ButtonProperties();
			pauseP.posX = 120;
			pauseP.posY = 50;
			pauseP.texture = "move";
			
		stopP = new ButtonProperties();
			stopP.posX = 240 + 20;
			stopP.posY = 50;
			stopP.texture = "resize";
	
		prevP = new ButtonProperties();
			prevP.posX = 360 + 40;
			prevP.posY = 50;
			prevP.texture = "setalogo";
		
		nextP = new ButtonProperties();
			nextP.posX = 480 + 60;
			nextP.posY = 50;
			nextP.texture = "move";
		
		menuP = new ButtonProperties();
			menuP.posX = 1200;
			menuP.posY = 700;
			menuP.texture = "resize";
		
		sbp = new SliderBarProperties();
			sbp.bar = "shiftline";
			sbp.barSize = 256;
			sbp.knob = "shift";
			sbp.posY = 100; 
		
	
		/* Create a window properties */
		wdp = new WindowProperties();
			wdp.windowTitle = "Hello World!";
			wdp.winTexture = "sbar";
			wdp.titleBarTexture = "sbar";
			wdp.bounding.height = 800;
			wdp.bounding.width  = 1280;
		
		/* WindowProperties, window name */
		ui.createWindow(wdp, "hello");

		/* Once created our window, need open this window to show */
		/* The order of '.openWindow' must be after '.createWindow', doesn't */
		/* matter if .openWindow goes before or after '.create*' element *
		ui.openWindow("hello"); 
		ui.getWindow("hello").createButton(pauseP, "pause");
		ui.getWindow("hello").createButton(stopP, "stop");
		ui.getWindow("hello").createButton(prevP, "prev");
		ui.getWindow("hello").createButton(nextP, "next");
		ui.getWindow("hello").createButton(menuP, "menu");
		
 }
@Override
public void render () {
	sb.begin();
		ui.begin();
	sb.end();

	if (ui.isActive("hello")) { /* is active this window? */

		if (ui.getButtonPress("hello", "pause")) System.out.println("'pause' button pressed");
		if (ui.getButtonPress("hello", "stop"));
		if (ui.getButtonPress("hello", "prev"));
		if (ui.getButtonPress("hello", "next"));
		if (ui.getButtonPress("hello", "menu"));
	}

	ui.end();
}

Resumen

Para crear ventanas:
ui.createWindow(WindowProperties, "nombreDeLaVentana");

Para obtener la acción de un botón:
ui.getButtonPress("nombreDeLaVentana", "nombreDelBotón");

Para personalizar nuestras ventanas, en la siguiente sección encontrará información detallada: [Personalizando Ventanas] (Personalización)

⚠️ **GitHub.com Fallback** ⚠️