El Blog de Murphy

10 Septiembre 2008

juego en java 2D – 5to dia

Archivado en: Java 2D — Etiquetas:, , , — Julio Cesar Cachay Pérez @ 4:05 am

Capitulo 15

Y llegaron las matematicas, hacer un juego no solo requiere de conocimientos de programacion y diseño, las matematicas entran de lleno y de cuando en vez tendremos que calcular angulos o, como en este caso, no serviremos de algunas funciones matematicas para hacer el efecto de vida del monstrito, ahora aqui se habla del maximo comun 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 multiplo) y cuando lo hace pone t = o y reinicia el conteo

Capitulo 16

En este capitulo no hay absoltutamente nada nuevo, agregar un jugador es como agregar un monstruo

Capitulo 17

Aunque este cpaitulo es muy interesante yo pondria 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 avion deberia ir arriba, abajo, izquierda, derecha usando las teclas de direccion

Por hoy es todo, hablaos

Aún no hay comentarios »

Aún no hay comentarios.

Canal RSS de los comentarios de la entrada. URI para TrackBack.

Deja un comentario

Blog de WordPress.com.