Don't wanna be here? Send us removal request.
Text
Velocidad en Curva Bézier
Como cada segmento de las curvas solo incluye dos puntos y mi implementación une todos los segmentos necesarios para lograr cualquier tamaño requerido, añadir velocidad fue un poco tedioso. fromSpeed = speed * accelerationMultiplier; toSpeed = speed; Además de la interpolación lineal básica (línea 120), tengo que modificar la variable que representa la velocidad…
0 notes
Text
Typewriter.java
Para cada fin de nivel, esta máquina de escribir se usa para el resumen del destacado. Comencé creando una enumeración de estado y su variable: public enum STATE {TYPING, ERASING, IDLE} public STATE state; Para el cursor necesito tres variables: private static final float CURSOR_BLINK_RATE = 0.08f; private boolean cursor; private float cursorTimer; Y para que parpadee, añado esto en el método…
0 notes
Text
Navegación
Más o menos el mapa espacial está listo (StarMap.java), pero antes de finalizar las posiciones de planetas, voy a codificar la navegación interplanetaria. Las estrellas, planetas y móviles (jugador y enemigos) usan coordenadas diferentes. Cada sistema de coordenadas utiliza solo un vector de referencia como base. En el caso de los planetas, le llamo “CHART”. public static final Vector2 CHART =…
0 notes
Text
Menú Final
Los botones de izquierda a derecha navegan a las páginas “High Score”, “Play Game” y “Settings” y utilizan la misma clase de animación que los cuadros definidos en esta publicación. playButton.addListener(new InputListener(){ @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { playButton.setScale(0.95f); return true; } @Override public void…
0 notes
Text
Curva Bézier
Como planeo utilizar curvas Bézier para el movimiento de enemigos, aprovecho y empiezo a codificarlo en el menú. Primero tengo que definir una clase para representar un punto Bézier “BezierPoint.java”. private final Vector2 point; private final Vector2 handle; private BezierPoint linkPoint; public BezierPoint() { point = new Vector2(); handle = new Vector2(); linkPoint = null; } Cada punto…
0 notes
Text
Menú
Comienzo creando una clase llamada “MenuTiles.java” para manejar mejor la animación de los cuadros. Cada cuadro utiliza la clase “Animation” de libGDX con solo dos texturas. private final int tileSize; private final Array<AnimatedMob> tiles; public MenuTiles(Stage stage) { super(stage); tiles = new Array<>(); tileSize = RM.get().TA.findRegion("menu_tile").getRegionWidth() + 10; } Todas las…
0 notes
Text
Pantalla de Opciones
Lo único nuevo, en cuanto a código se refiere, es el uso de “CheckBox” de la librería “LibGDX.Scene2d.UI” y las líneas animadas por decoración (TiledLine). La clase “TiledLine.java” solo maneja un arreglo de actores extendidos por la clase “BaseAnimatedActor.java”. public class BaseAnimatedActor extends Actor { private float stateTime; private final Animation<TextureRegion> animation; public…
0 notes
Text
Niebla Mental
Me encuentro en una densa neblina mental. Antes, para el tiempo de Space Invaders, Centipede y Galaga, el dilema era cómo hacer el máximo con recursos limitados. Ahora, con este proyecto (Theolium), la lucha es cómo mantenerme en el mínimo con tantos recursos disponibles. Un paseo por los “arcades” antiguos debe despejarme la mente lo suficiente para continuar y mantenerme en línea con el…
0 notes