Anuncios

Bienvenidos sean a este post, en el post anterior hablamos sobre las especificaciones de los objetos y vimos que poseen componentes los cuales a su vez implementan interfaces, hoy nos centraremos justamente en dichas interfaces.

Anuncios

Vamos a crear una nueva interfaz y para ello crearemos una nueva clase con los siguientes parametros:

  • Nombre: ComponenteGraficos
  • Tipo: Interface
Anuncios

Una vez generada nuestra interfaz modificaremos el codigo con el siguiente:

ComponenteGraficos

package org.example.invasores;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PointF;

interface ComponenteGraficos {
    void inicializar(Context c,
                     ObjetoEspec e,
                     PointF tamanoPantalla);
    void dibujar(Canvas canvas, 
                 Paint pincel, 
                 Transformar t);
}
Anuncios

Esta es una interfaz simple que poseera dos prototipos, una para inicializar y otra para dibujar, con sus respectivos argumentos pero cuando implementemos y definamos estos metodos veremos como trabajan por ahora solamente, en este caso vamos a tener una clase inexistente que es Transformar, la cual crearemos mas adelante, y nos permitira no solo setear el tamaño sino tambien en que direccion ira pero esto lo veremos en otro post, pasemos a la siguiente interfaz.

Anuncios

ComponenteEntrada

package org.example.invasores;

interface ComponenteEntrada {
    void setTransformar(Transformar t);
}
Anuncios

Esta interfaz es mas simple porque solamente tendra un metodo (o prototipo de metodo) para modificar a Transformar pasando algunos datos que manejara esta clase pero de esto hablaremos mas adelante, pasemos a la siguiente interfaz.

Anuncios

ComponenteMovimiento

package org.example.invasores;

interface ComponenteMovimiento {
    boolean mover(long fps, 
                  Transformar t, 
                  Transformar jugadorTransformar);
}
Anuncios

En este caso tenemos un solo metodo el cual recibe los fps de nuestro dispositivo pero recibe dos veces a Transformar, una con respecto al GameObjeto y otro con respecto al jugador, y esto sera asi porque al mover a los enemigos debemos hacerlo con respecto al jugador pero de esto hablaremos mas profundamente cuando toquemos este tema, continuemos con la ultima interfaz.

Anuncios

ComponenteGenerar

package org.example.invasores;

interface ComponenteGenerar {
    void generar(Transformar jugadorTransformar,
                 Tranformar t);
}
Anuncios

Aca tenemos nuestra ultima interfaz se encargara (es un decir) de generar tanto a la nave del jugador como los enemigos, para esta ocasion ocurre exactamente lo mismo que la anterior enviamos dos datos de Transformar para al momento de generar a nuestro enemigo tenga la referencia de la nave de nuestro jugador.

Anuncios

Hasta aqui las cuatro interfaces que se encargaran de permitirnos diferenciar entre cada uno de los elementos y a su vez podran interactuar con los componentes que informamos en nuestro post anterior pero todo lo que resta lo iremos viendo en los proximos posts.

Anuncios

En resumen, hoy hemos visto las cuatro interfaces que se encargaran de las tareas basicas, tienen los prototipos de los metodos que nos permitiran interactuar con los metodos que ya poseemos pero a su vez podran identificar de manera correcta cual objeto es el que esta manejando, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00