Single Tech Games

juego en java 2D – 5to dia

Actualizando el 03/05/2012… Agregue el código fuente que ya desapareció de la web aquí
Capitulo 15
Y llegaron las matemáticas, hacer un juego no solo requiere de conocimientos de programación y diseño, las matemáticas entran de lleno y de cuando en vez tendremos que calcular ángulos o, como en este caso, no serviremos de algunas funciones matemáticas para hacer el efecto de vida del monstruo, ahora aquí se habla del máximo común divisor y esas cosas.

public void act() {
    t++;
    if (t % frameSpeed == 0){
    t=0; currentFrame = (currentFrame + 1) % spriteNames.length;
    //cuando inicia  currentframe = 0, le suma 1 y lo divide
    //con 2(spriteNames.length) y saca el residuo que es 1
    //luego suma 2 y el residuo es 0, luego a 3 y el residuo es 1
    // y asi sucesivamente, spriteNames.length nos garantiza que
    //el residuo jamas va a ser mayor al numero de elementos en el array }
}

frame speed es declarado en Monster como 35, aca luego se va sumando t hasta llegar a 35 (o a un múltiplo) y cuando lo hace pone t = o y reinicia el conteo
Capitulo 16
En este capitulo no hay absolutamente nada nuevo, agregar un jugador es como agregar un monstruo
Capitulo 17
Aunque este capitulo es muy interesante yo pondría el manejo del jugador en un clase aparte, pero bueno…

public class Invaders extends Canvas implements Stage , KeyListener{ //interface para obtener los metodos referentes al teclado
    addKeyListener(this);//Es el que "escucha" los eventos de tecla
public void keyPressed(KeyEvent e) {
    player.keyPressed(e);//player hereda estas funciones y recibe el evento de tecla
}
public void keyReleased(KeyEvent e) {
    player.keyReleased(e);
}
protected static final int PLAYER_SPEED = 4;//no cambia siempre tendra una nueva posicion en 4 y -4
protected void updateSpeed() {
//se modifican vx y vy y con esto cambian las variables de la funcion act
    vx=0;vy=0;
    if (down) vy = PLAYER_SPEED;
    if (up) vy = -PLAYER_SPEED;
    if (left) vx = -PLAYER_SPEED;
    if (right) vx = PLAYER_SPEED;
}

Y listo con esto nuestro avión debería ir arriba, abajo, izquierda, derecha usando las teclas de dirección por hoy es todo.
Buena Suerte!

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments