Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge CT2 con master

  • Loading branch information...
commit f445e4b8c2d12bd062b2c804a410b30580ac07e1 2 parents 1cf4a7b + 05ae586
@Luraguse Luraguse authored
View
125 lumpundform-android/assets/escenas/escenario_1.xml
@@ -1,63 +1,64 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<escenas>
- <escena nombre="101">
- <paso numero="1">
- <accion actor="heroe" objetivo="ir_a" destino="1200" />
- <accion actor="heroe" objetivo="hablar" posicion="izq" destino="600" texto="Lorem ipsum dolor sit amet" />
- </paso>
- <paso numero="2">
- <accion actor="amigo" objetivo="hablar" posicion="der" destino="600" texto="Amigo Hallo Welt2!" />
- </paso>
- <paso numero="3">
- <accion actor="heroe" objetivo="hablar" posicion="izq" destino="600" texto="Hallo Welt!" />
- </paso>
- <paso numero="4">
- <accion actor="heroe" objetivo="hablar" posicion="izq" destino="600" texto="ciao mondo!" />
- <accion actor="heroe" objetivo="teletransportarse" posicionX="200" posicionY="400" />
- </paso>
- <paso numero="5">
- <accion actor="heroe" objetivo="ir_a" destino="1300" />
- </paso>
- <paso numero="5">
- <accion actor="amigo" objetivo="hablar" posicion="der" destino="600" texto="Amigo Hallo Welt5!" />
- </paso>
- </escena>
-
- <escena nombre="102">
- <paso numero="1">
- <accion actor="amigo" objetivo="hablar" posicion="izq" destino="600" texto="Amigo Hola Mundo2!" posicionX="1600" posicionY="400" />
- </paso>
-
- <paso numero="2">
- <accion actor="amigo" objetivo="hablar" posicion="izq" destino="600" texto="Amigo Hello world2!" />
- </paso>
- <paso numero="3">
- <accion actor="amigo" objetivo="hablar" posicion="izq" destino="600" texto="Amigo Hallo Welt2!" />
- </paso>
- <paso numero="4">
- <accion actor="amigo" objetivo="hablar" posicion="izq" destino="600" texto="Amigo ciao mondo2!" />
- </paso>
- <paso numero="5">
- <accion actor="amigo" objetivo="teletransportarse" posicionX="600" posicionY="800" />
- </paso>
- <paso numero="6">
- <accion actor="amigo" objetivo="ir_a" destino="1900"/>
- </paso>
- </escena>
-
- <escena nombre="103">
- <paso numero="1">
- <accion actor="heroe" objetivo="hablar" posicion="izq" destino="600" texto="Hola Mundo3!" />
- </paso>
-
- <paso numero="2">
- <accion actor="heroe" objetivo="hablar" posicion="izq" destino="600" texto="Hello world3!" />
- </paso>
- <paso numero="3">
- <accion actor="heroe" objetivo="hablar" posicion="izq" destino="600" texto="Hallo Welt3!" />
- </paso>
- <paso numero="4">
- <accion actor="heroe" objetivo="hablar" posicion="izq" destino="600" texto="ciao mondo3!" />
- </paso>
- </escena>
+<?xml version="1.0" encoding="UTF-8"?>
+<escenas>
+ <escena nombre="101">
+ <paso numero="1">
+ <accion actor="heroe" objetivo="ir_a" destino="1200" />
+ <accion actor="heroe" objetivo="hablar" posicionTexto="izq" destino="600" texto="Lorem ipsum dolor sit ametl" />
+ <accion actor="amigo" objetivo="hablar" posicionTexto="der" destino="600" texto="blargsl" />
+ </paso>
+ <paso numero="2">
+ <accion actor="amigo" objetivo="hablar" posicionTexto="der" destino="600" texto="Lorem ipsum dolor sit ametl" />
+ </paso>
+ <paso numero="3">
+ <accion actor="heroe" objetivo="hablar" posicionTexto="izq" destino="600" texto="Hallo Welt!" />
+ </paso>
+ <paso numero="4">
+ <accion actor="heroe" objetivo="hablar" posicionTexto="izq" destino="600" texto="ciao mondo!" />
+ <accion actor="heroe" objetivo="teletransportarse" posicionX="200" posicionY="400" />
+ </paso>
+ <paso numero="5">
+ <accion actor="heroe" objetivo="ir_a" destino="1300" />
+ </paso>
+ <paso numero="5">
+ <accion actor="amigo" objetivo="hablar" posicionTexto="der" destino="600" texto="Amigo Hallo Welt5!" />
+ </paso>
+ </escena>
+
+ <escena nombre="102">
+ <paso numero="1">
+ <accion actor="amigo" objetivo="hablar" posicionTexto="izq" destino="600" texto="Amigo Hola Mundo2!" posicionX="1600" posicionY="400" />
+ </paso>
+
+ <paso numero="2">
+ <accion actor="amigo" objetivo="hablar" posicionTexto="izq" destino="600" texto="Amigo Hello world2!" />
+ </paso>
+ <paso numero="3">
+ <accion actor="amigo" objetivo="hablar" posicionTexto="izq" destino="600" texto="Amigo Hallo Welt2!" />
+ </paso>
+ <paso numero="4">
+ <accion actor="amigo" objetivo="hablar" posicionTexto="izq" destino="600" texto="Amigo ciao mondo2!" />
+ </paso>
+ <paso numero="5">
+ <accion actor="amigo" objetivo="teletransportarse" posicionX="600" posicionY="800" />
+ </paso>
+ <paso numero="6">
+ <accion actor="amigo" objetivo="ir_a" destino="1900"/>
+ </paso>
+ </escena>
+
+ <escena nombre="103">
+ <paso numero="1">
+ <accion actor="heroe" objetivo="hablar" posicionTexto="izq" destino="600" texto="Hola Mundo3!" />
+ </paso>
+
+ <paso numero="2">
+ <accion actor="heroe" objetivo="hablar" posicionTexto="izq" destino="600" texto="Hello world3!" />
+ </paso>
+ <paso numero="3">
+ <accion actor="heroe" objetivo="hablar" posicionTexto="izq" destino="600" texto="Hallo Welt3!" />
+ </paso>
+ <paso numero="4">
+ <accion actor="heroe" objetivo="hablar" posicionTexto="izq" destino="600" texto="ciao mondo3!" />
+ </paso>
+ </escena>
</escenas>
View
3  lumpundform/src/com/lumpundform/escenario/EscenarioBase.java
@@ -635,5 +635,4 @@ public boolean getInterfazBloqueada() {
public void setInterfazBloqueada(boolean bloquear) {
this.interfazBloqueada = bloquear;
- }
-}
+ }
View
130 lumpundform/src/com/lumpundform/eventos/Accion.java
@@ -1,66 +1,66 @@
-package com.lumpundform.eventos;
-
-import com.badlogic.gdx.math.Vector2;
-import com.badlogic.gdx.utils.XmlReader.Element;
-
-public class Accion {
-
- private boolean terminado = false;
-
- private String nombreActor;
- private String objetivo;
- private String destino;
- private String texto;
- private String posicionTexto;
-
- private float posicionX = 0.0f;
- private float posicionY = 0.0f;
-
- public Accion(Element accion) {
- this.nombreActor = accion.get("actor");
- this.objetivo = accion.get("objetivo");
-
- if (accion.getAttributes().containsKey("destino"))
- this.destino = accion.get("destino");
- if (accion.getAttributes().containsKey("texto"))
- this.texto = accion.get("texto");
- if(accion.getAttributes().containsKey("posicion"))
- this.posicionTexto = accion.get("posicion");
- if (accion.getAttributes().containsKey("posicionX"))
- this.posicionX = Float.parseFloat(accion.get("posicionX"));
- if (accion.getAttributes().containsKey("posicionY"))
- this.posicionY = Float.parseFloat(accion.get("posicionY"));
- }
-
- public String getNombreActor() {
- return nombreActor;
- }
-
- public String getObjetivo() {
- return objetivo;
- }
-
- public String getTexto() {
- return texto;
- }
-
- public float getDestino() {
- return Float.parseFloat(destino);
- }
-
- public Vector2 getPosicion() {
- return new Vector2(posicionX, posicionY);
- }
-
- public boolean getTerminado() {
- return terminado;
- }
-
- public String getPosicionTexto() {
- return posicionTexto;
- }
-
- public void terminar() {
- terminado = true;
- }
+package com.lumpundform.eventos;
+
+import com.badlogic.gdx.math.Vector2;
+import com.badlogic.gdx.utils.XmlReader.Element;
+
+public class Accion {
+
+ private boolean terminado = false;
+
+ private String nombreActor;
+ private String objetivo;
+ private String destino;
+ private String texto;
+ private String posicionTexto;
+
+ private float posicionX = 0.0f;
+ private float posicionY = 0.0f;
+
+ public Accion(Element accion) {
+ this.nombreActor = accion.get("actor");
+ this.objetivo = accion.get("objetivo");
+
+ if (accion.getAttributes().containsKey("destino"))
+ this.destino = accion.get("destino");
+ if (accion.getAttributes().containsKey("texto"))
+ this.texto = accion.get("texto");
+ if(accion.getAttributes().containsKey("posicionTexto"))
+ this.posicionTexto = accion.get("posicionTexto");
+ if (accion.getAttributes().containsKey("posicionX"))
+ this.posicionX = Float.parseFloat(accion.get("posicionX"));
+ if (accion.getAttributes().containsKey("posicionY"))
+ this.posicionY = Float.parseFloat(accion.get("posicionY"));
+ }
+
+ public String getNombreActor() {
+ return nombreActor;
+ }
+
+ public String getObjetivo() {
+ return objetivo;
+ }
+
+ public String getTexto() {
+ return texto;
+ }
+
+ public float getDestino() {
+ return Float.parseFloat(destino);
+ }
+
+ public Vector2 getPosicion() {
+ return new Vector2(posicionX, posicionY);
+ }
+
+ public boolean getTerminado() {
+ return terminado;
+ }
+
+ public String getPosicionTexto() {
+ return posicionTexto;
+ }
+
+ public void terminar() {
+ terminado = true;
+ }
}
View
306 lumpundform/src/com/lumpundform/eventos/Escena.java
@@ -1,145 +1,163 @@
-package com.lumpundform.eventos;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.badlogic.gdx.math.Vector2;
-import com.badlogic.gdx.utils.Array;
-import com.badlogic.gdx.utils.XmlReader.Element;
-import com.lumpundform.actores.ObjetoActor.Direccion;
-import com.lumpundform.actores.Personaje;
-import com.lumpundform.escenario.EscenarioBase;
-import com.lumpundform.interfaz.CuadroTexto;
-import com.lumpundform.utilerias.U;
-
-public class Escena {
-
- // Elementos de la escena
- private Array<Paso> pasos = new Array<Paso>();
- private String nombre;
- private int paso = 0;
- private boolean terminado = false;
-
- private EscenarioBase escenario;
-
- // Cuadros de texto
- Map<String, CuadroTexto> cuadrosTexto = new HashMap<String, CuadroTexto>();
-
- public Escena(Element escena, String nombreEscena) {
- crearPasos(escena.getChildrenByNameRecursively("paso"));
- this.nombre = nombreEscena;
- }
-
- private void crearPasos(Array<Element> pasos) {
- for (int i = 0; i < pasos.size; i++) {
- this.pasos.add(new Paso(pasos.get(i)));
- }
- }
-
- public void ejecutarEscena(EscenarioBase escenario) {
- this.escenario = escenario;
- revisarPasos();
- }
-
- private void revisarPasos() {
- if (paso < pasos.size) {
- revisarAcciones(pasos.get(paso));
- } else {
- terminado = true;
- }
- }
-
- private void revisarAcciones(Paso paso) {
- if (accionesTerminadas(paso)) {
- ejecutarAcciones(paso);
- } else {
- siguientePaso();
- }
- }
-
- private void ejecutarAcciones(Paso paso) {
- for (int i = 0; i < paso.acciones.size; i++) {
- if (!paso.acciones.get(i).getTerminado()) {
- ejecutarAccion(paso.acciones.get(i), (Personaje) escenario.getActor(paso.acciones.get(i)
- .getNombreActor(), paso.acciones.get(i).getPosicion()));
- }
- }
- }
-
- private void ejecutarAccion(Accion accion, Personaje personaje) {
- if (accion.getObjetivo().equals("hablar"))
- hablar(accion, personaje);
- else if (accion.getObjetivo().equals("ir_a"))
- caminar(accion.getDestino(), accion, personaje);
- else if (accion.getObjetivo().equals("teletransportarse"))
- teletransportarse(accion.getPosicion(), accion, personaje);
- }
-
- private void siguientePaso() {
- this.paso++;
- }
-
- private boolean accionesTerminadas(Paso paso) {
- for (int i = 0; i < paso.acciones.size; i++) {
- if (!paso.acciones.get(i).getTerminado())
- return true;
- }
- return false;
- }
-
- // Acciones para las escenas
-
- private void hablar(Accion accion, Personaje personaje) {
- if (!accion.getTerminado()) {
- if (!cuadrosTexto.containsKey(personaje.getName())) {
- U.l("dir", accion.getPosicionTexto());
- CuadroTexto tempCT = new CuadroTexto(accion.getPosicionTexto());
- tempCT.setTexto(accion.getTexto());
- cuadrosTexto.put(personaje.getName(), tempCT);
- }
- }
- dibujarTexto(personaje.getName());
- }
-
- private void caminar(float destino, Accion accion, Personaje personaje) {
-
- if (!accion.getTerminado()) {
- personaje.setDestinoX(destino);
- personaje.setDireccionDestinoX(Direccion.DERECHA);
- personaje.moverDestino();
- }
- if ((personaje.getDestinoX() > personaje.getX() && personaje.getDireccionDestinoX() == Direccion.IZQUIERDA)
- || (personaje.getDestinoX() < personaje.getX() && personaje.getDireccionDestinoX() == Direccion.DERECHA))
- accion.terminar();
- }
-
- private void teletransportarse(Vector2 pos, Accion accion, Personaje personaje) {
- personaje.habilidad("teletransportar", pos);
- accion.terminar();
- }
-
- public String getNombre() {
- return nombre;
- }
-
- public boolean getTerminada() {
- return terminado;
- }
-
- public void continuarConversacion() {
- Paso pasoActual = getPasoActual();
- if (pasoActual != null && pasoActual.tieneAccionHablar())
- pasoActual.terminarAccionHablar();
- }
-
- private Paso getPasoActual() {
- if (paso < pasos.size)
- return pasos.get(paso);
- return null;
- }
-
- private void dibujarTexto(String nombrePersonaje) {
- CuadroTexto ct = cuadrosTexto.get(nombrePersonaje);
- ct.draw();
- }
+package com.lumpundform.eventos;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.badlogic.gdx.math.Vector2;
+import com.badlogic.gdx.utils.Array;
+import com.badlogic.gdx.utils.XmlReader.Element;
+import com.lumpundform.actores.ObjetoActor.Direccion;
+import com.lumpundform.actores.Personaje;
+import com.lumpundform.escenario.EscenarioBase;
+import com.lumpundform.interfaz.CuadroTexto;
+
+public class Escena {
+
+ // Elementos de la escena
+ private Array<Paso> pasos = new Array<Paso>();
+ private String nombre;
+ private int paso = 0;
+ private boolean terminado = false;
+
+ private EscenarioBase escenario;
+
+ // Cuadros de texto
+ Map<String, CuadroTexto> cuadrosTexto = new HashMap<String, CuadroTexto>();
+
+ public Escena(Element escena, String nombreEscena) {
+ crearPasos(escena.getChildrenByNameRecursively("paso"));
+ this.nombre = nombreEscena;
+ }
+
+ private void crearPasos(Array<Element> pasos) {
+ for (int i = 0; i < pasos.size; i++) {
+ this.pasos.add(new Paso(pasos.get(i)));
+ }
+ }
+
+ public void ejecutarEscena(EscenarioBase escenario) {
+ this.escenario = escenario;
+ revisarPasos();
+ }
+
+ private void revisarPasos() {
+ if (paso < pasos.size) {
+ revisarAcciones(pasos.get(paso));
+ } else {
+ terminado = true;
+ }
+ }
+
+ private void revisarAcciones(Paso paso) {
+ if (accionesTerminadas(paso)) {
+ ejecutarAcciones(paso);
+ } else {
+ siguientePaso();
+ }
+ }
+
+ private void ejecutarAcciones(Paso paso) {
+ for (int i = 0; i < paso.acciones.size; i++) {
+ if (!paso.acciones.get(i).getTerminado()) {
+ ejecutarAccion(paso.acciones.get(i), (Personaje) escenario.getActor(paso.acciones.get(i)
+ .getNombreActor(), paso.acciones.get(i).getPosicion()));
+ }
+ }
+ }
+
+ private void ejecutarAccion(Accion accion, Personaje personaje) {
+ if (accion.getObjetivo().equals("hablar"))
+ hablar(accion, personaje);
+ else if (accion.getObjetivo().equals("ir_a"))
+ caminar(accion.getDestino(), accion, personaje);
+ else if (accion.getObjetivo().equals("teletransportarse"))
+ teletransportarse(accion.getPosicion(), accion, personaje);
+ }
+
+ private void siguientePaso() {
+ this.paso++;
+ }
+
+ private boolean accionesTerminadas(Paso paso) {
+ for (int i = 0; i < paso.acciones.size; i++) {
+ if (!paso.acciones.get(i).getTerminado())
+ return true;
+ }
+ return false;
+ }
+
+ // Acciones para las escenas
+
+ private void hablar(Accion accion, Personaje personaje) {
+ if (!accion.getTerminado()) {
+ if (!cuadrosTexto.containsKey(personaje.getName())) {
+ CuadroTexto tempCT = new CuadroTexto(accion.getPosicionTexto());
+ tempCT.setTexto(accion.getTexto());
+ cuadrosTexto.put(personaje.getName(), tempCT);
+ } else {
+ cuadrosTexto.get(personaje.getName()).setTexto(accion.getTexto());
+ }
+ }
+ dibujarTexto(personaje.getName());
+ }
+
+ private void caminar(float destino, Accion accion, Personaje personaje) {
+
+ if (!accion.getTerminado()) {
+ personaje.setDestinoX(destino);
+ personaje.setDireccionDestinoX(Direccion.DERECHA);
+ personaje.moverDestino();
+ }
+ if ((personaje.getDestinoX() > personaje.getX() && personaje.getDireccionDestinoX() == Direccion.IZQUIERDA)
+ || (personaje.getDestinoX() < personaje.getX() && personaje.getDireccionDestinoX() == Direccion.DERECHA))
+ accion.terminar();
+ }
+
+ private void teletransportarse(Vector2 pos, Accion accion, Personaje personaje) {
+ personaje.habilidad("teletransportar", pos);
+ accion.terminar();
+ }
+
+ public String getNombre() {
+ return nombre;
+ }
+
+ public boolean getTerminada() {
+ return terminado;
+ }
+
+ public void continuarConversacion() {
+ Paso pasoActual = getPasoActual();
+ if (pasoActual != null && pasoActual.tieneAccionHablar()) {
+ if (accionHablarTermino()) {
+ siguienteCuadroTexto();
+ pasoActual.terminarAccionHablar();
+ }
+ }
+ }
+
+ private Paso getPasoActual() {
+ if (paso < pasos.size)
+ return pasos.get(paso);
+ return null;
+ }
+
+ private boolean accionHablarTermino() {
+ for (CuadroTexto cuadroTexto : cuadrosTexto.values()) {
+ if (!cuadroTexto.terminado())
+ return false;
+ }
+ return true;
+ }
+
+ private void siguienteCuadroTexto() {
+ for (CuadroTexto cuadroTexto : cuadrosTexto.values()) {
+ cuadroTexto.continuar();
+ }
+ }
+
+ private void dibujarTexto(String nombrePersonaje) {
+ CuadroTexto cuadroTexto = cuadrosTexto.get(nombrePersonaje);
+ cuadroTexto.draw();
+ }
}
View
104 lumpundform/src/com/lumpundform/eventos/Paso.java
@@ -1,53 +1,53 @@
-package com.lumpundform.eventos;
-
-import com.badlogic.gdx.utils.Array;
-import com.badlogic.gdx.utils.XmlReader.Element;
-
-public class Paso {
- Array<Accion> acciones = new Array<Accion>();
- private int accionAEjecutar = 0;
-
- public Paso(Element paso) {
- crearAcciones(paso.getChildrenByNameRecursively("accion"));
- }
-
- private void crearAcciones(Array<Element> paso) {
- for (int i = 0; i < paso.size; i++) {
- acciones.add(new Accion(paso.get(i)));
- }
- }
-
- public int getAccionAEjecutar() {
- return accionAEjecutar;
- }
-
- public void siguienteAccion() {
- accionAEjecutar++;
- }
-
- public boolean tieneAccionHablar() {
- for (int i = 0; i < acciones.size; i++) {
- Accion accion = acciones.get(i);
- if (accion.getObjetivo().equals("hablar") && !accion.getTerminado()) {
- return true;
- }
- }
- return false;
- }
-
- public void terminarAccionHablar() {
- Accion accionHablar = getAccionHablar();
- if (accionHablar != null)
- accionHablar.terminar();
- }
-
- private Accion getAccionHablar() {
- for (int i = 0; i < acciones.size; i++) {
- Accion accion = acciones.get(i);
- if (accion.getObjetivo().equals("hablar")) {
- return accion;
- }
- }
- return null;
- }
+package com.lumpundform.eventos;
+
+import com.badlogic.gdx.utils.Array;
+import com.badlogic.gdx.utils.XmlReader.Element;
+
+public class Paso {
+ Array<Accion> acciones = new Array<Accion>();
+ private int accionAEjecutar = 0;
+
+ public Paso(Element paso) {
+ crearAcciones(paso.getChildrenByNameRecursively("accion"));
+ }
+
+ private void crearAcciones(Array<Element> paso) {
+ for (int i = 0; i < paso.size; i++) {
+ acciones.add(new Accion(paso.get(i)));
+ }
+ }
+
+ public int getAccionAEjecutar() {
+ return accionAEjecutar;
+ }
+
+ public void siguienteAccion() {
+ accionAEjecutar++;
+ }
+
+ public boolean tieneAccionHablar() {
+ for (int i = 0; i < acciones.size; i++) {
+ Accion accion = acciones.get(i);
+ if (accion.getObjetivo().equals("hablar") && !accion.getTerminado()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void terminarAccionHablar() {
+ Array<Accion> accionesHablar = getAccionesHablar();
+ for (Accion accion : accionesHablar) {
+ accion.terminar();
+ }
+ }
+
+ private Array<Accion> getAccionesHablar() {
+ Array<Accion> acciones = new Array<Accion>();
+ for (Accion accion : this.acciones) {
+ if(accion.getObjetivo().equals("hablar"))
+ acciones.add(accion);
+ }
+ return acciones;
+ }
}
View
196 lumpundform/src/com/lumpundform/interfaz/CuadroTexto.java
@@ -1,86 +1,112 @@
-package com.lumpundform.interfaz;
-
-import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.graphics.Texture;
-import com.badlogic.gdx.graphics.g2d.BitmapFont;
-import com.badlogic.gdx.graphics.g2d.NinePatch;
-import com.badlogic.gdx.graphics.g2d.SpriteBatch;
-import com.lumpundform.utilerias.Fuentes;
-
-public class CuadroTexto {
- private NinePatch np = new NinePatch(new Texture(Gdx.files.internal("texturas/ct.png")), 3,
- 3, 3, 3);
-
- private static BitmapFont bmf = Fuentes.regular();
-
- private Texture retrato = new Texture(Gdx.files.internal("personajes/samus_portrait.png"));
-
- private SpriteBatch batch = new SpriteBatch();
-
- public Boolean dibujar = true;
-
- public float posicionX;
- private float posicionY = 400.0f;
- private float anchoCuadro = 300.0f;
- private float altoCuadro = 60.0f;
- private float paddingX = 10.0f;
- private float paddingY = 5.0f;
- private float posicionRetratoX;
-
- public boolean terminado = false;
- public boolean continuar = false;
-
-
- public int index = 0;
-
- public String texto;
- public String newstr = "";
-
- public CuadroTexto(String posicion) {
- if(posicion == "der") {
- this.posicionX = Gdx.graphics.getWidth() - this.anchoCuadro - 10.0f;
- this.posicionRetratoX = (posicionX - paddingX);
- } else {
- this.posicionX = 10.0f;
- this.posicionRetratoX = (posicionX + (anchoCuadro - retrato.getWidth() - paddingX));
- }
- }
-
- public void setTexto(String texto) {
- this.texto = texto;
- }
-
- public void setX(float x) {
- this.posicionX = x;
- }
-
- public void setY(float y) {
- this.posicionY = y;
- }
-
- public void setWidth(float width) {
- this.anchoCuadro = width;
- }
-
- public void setHeight(float height) {
- this.altoCuadro = height;
- }
-
- public void setPaddingX(float paddingX) {
- this.paddingX = paddingX;
- }
-
- public void setPaddingY(float paddingY) {
- this.paddingY = paddingY;
- }
-
- public void draw() {
- batch.begin();
- np.draw(batch, posicionX, posicionY, anchoCuadro, altoCuadro);
- bmf.setColor(1.0f, 1.0f, 1.0f, 1.0f);
- bmf.setScale(0.50f);
- bmf.drawWrapped(batch, texto, (posicionX + paddingX), (posicionY + altoCuadro - paddingY), (anchoCuadro - paddingX - retrato.getWidth()));
- batch.draw(retrato, posicionRetratoX, (posicionY + (altoCuadro - retrato.getHeight() - paddingY)), retrato.getWidth(), retrato.getHeight());
- batch.end();
- }
+package com.lumpundform.interfaz;
+
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.BitmapFont;
+import com.badlogic.gdx.graphics.g2d.NinePatch;
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.lumpundform.utilerias.Fuentes;
+
+public class CuadroTexto {
+ private NinePatch np = new NinePatch(new Texture(Gdx.files.internal("texturas/ct.png")), 3,
+ 3, 3, 3);
+
+ private static BitmapFont bmf = Fuentes.regular();
+
+ private Texture retrato = new Texture(Gdx.files.internal("personajes/samus_portrait.png"));
+
+ private SpriteBatch batch = new SpriteBatch();
+
+ public Boolean dibujar = true;
+
+ private float posicionX;
+ private float posicionY = 400.0f;
+ private float anchoCuadro = 300.0f;
+ private float altoCuadro = 60.0f;
+ private float paddingX = 7.0f;
+ private float paddingY = 5.0f;
+ private float posicionTextoX;
+ private float posicionRetratoX;
+
+ private boolean terminado = false;
+ private boolean continuar = false;
+
+ private int index = 0;
+
+ private String texto;
+ private String textoNuevo = "";
+
+
+ public CuadroTexto(String posicion) {
+ if(posicion.equals("der")) {
+ this.posicionX = Gdx.graphics.getWidth() - this.anchoCuadro - 10.0f;
+ this.posicionRetratoX = (posicionX + paddingX);
+ this.posicionTextoX = posicionX + (paddingX * 2) + retrato.getWidth();
+
+ } else {
+ this.posicionX = 10.0f;
+ this.posicionRetratoX = (posicionX + (anchoCuadro - retrato.getWidth() - paddingX));
+ this.posicionTextoX = posicionX + paddingX;
+ }
+ }
+
+ public void setTexto(String texto) {
+ this.texto = texto;
+ }
+
+ public void setX(float x) {
+ this.posicionX = x;
+ }
+
+ public void setY(float y) {
+ this.posicionY = y;
+ }
+
+ public void setWidth(float width) {
+ this.anchoCuadro = width;
+ }
+
+ public void setHeight(float height) {
+ this.altoCuadro = height;
+ }
+
+ public void setPaddingX(float paddingX) {
+ this.paddingX = paddingX;
+ }
+
+ public void setPaddingY(float paddingY) {
+ this.paddingY = paddingY;
+ }
+
+ private String iterarTexto() {
+ if (index < texto.length() && !terminado) {
+ textoNuevo += texto.substring(index, ++index);
+ } else if (!terminado && index >= texto.length() && !continuar) {
+ terminado = true;
+ index = 0;
+ } else if (terminado && index == 0 && continuar) {
+ textoNuevo = "";
+ continuar = false;
+ terminado = false;
+ }
+ return textoNuevo;
+ }
+
+ public void draw() {
+ batch.begin();
+ np.draw(batch, posicionX, posicionY, anchoCuadro, altoCuadro);
+ bmf.setColor(1.0f, 1.0f, 1.0f, 1.0f);
+ bmf.setScale(0.50f);
+ bmf.drawWrapped(batch, iterarTexto(), posicionTextoX, (posicionY + altoCuadro - paddingY), (anchoCuadro - (paddingX * 2) - retrato.getWidth()));
+ batch.draw(retrato, posicionRetratoX, (posicionY + (altoCuadro - retrato.getHeight() - paddingY)), retrato.getWidth(), retrato.getHeight());
+ batch.end();
+ }
+
+ public boolean terminado() {
+ return terminado;
+ }
+
+ public void continuar() {
+ continuar = true;
+ }
}
Please sign in to comment.
Something went wrong with that request. Please try again.