Package j2d
Class Colisionador
java.lang.Object
j2d.Colisionador
Colisionador asociado a un objeto.
Se trata de un area rectangular que coincide por con el area del objeto. Los colisionadores se utilizan por la fisica del juego para detectar las colisiones entre objetos.
El colisionador puede ser dominante, en ese caso no retrocedera cuando se produzca una colision con otro colisionador.
Si es etereo, las colisiones se detectaran pero los objetos se "atravesaran" sin que sus posiciones o velocidades se vean afectadas.
Esta clase es parte de j2d.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumLado en el que se produce la colision. -
Constructor Summary
ConstructorsConstructorDescriptionColisionador(JObjeto objeto, Dimension dimension) Construye un colisionador asociado al objeto. -
Method Summary
Modifier and TypeMethodDescriptionvoidactiva()Activa el colisionador.area()Retorna el area del colisionador.voidDesactiva el colisionador.booleanRetorna si el colisionador es dominante.booleanesEtereo()Retorna si el colisionador es etereo.voidesEtereo(boolean etereo) Configura el colisionador como etereo o no.voidespecifico(Class<? extends JObjeto> claseEspecifica) Configura el colisionador como especifico para una clase, lo que significa que solo colisiona con objetos de esa clase o de sus subclases.booleanRetorna si el colisionador esta activo o no.booleanestaEnTrayectoria(Colisionador obstaculo, Point ptoDestino) Calcula si algun punto del colisionador pasaria sobre el colisionador obstaculo en el supuesto de que el centro del colisionador se desplazara al punto destino siguiendo una trayectoria recta.booleanestaEnTrayectoria(JObjeto obj, Point ptoDestino) Calcula si algun punto del colisionador pasaria sobre el colisionador del objeto en el supuesto de que el centro del colisionador se desplazara al punto destino siguiendo una trayectoria recta.voidhaceDominante(boolean dominante) Configura el colisionador como dominante o no.ladoColision(JObjeto otroObj) Retorna el lado del objeto duenho del colisionador en el que se ha producido la colision con el otro objeto.objeto()Retorna el objeto asocido con el colisionador.
-
Constructor Details
-
Colisionador
Construye un colisionador asociado al objeto.- Parameters:
objeto- objeto con el que esta asociado el colisionador.dimension- area rectangular del colisionador.
-
-
Method Details
-
estaActivo
public boolean estaActivo()Retorna si el colisionador esta activo o no.- Returns:
- si el colisionador esta activo o no.
-
activa
public void activa()Activa el colisionador. -
desactiva
public void desactiva()Desactiva el colisionador. -
objeto
Retorna el objeto asocido con el colisionador.- Returns:
- el objeto asocido con el colisionador.
-
area
Retorna el area del colisionador.- Returns:
- el area del colisionador.
-
ladoColision
Retorna el lado del objeto duenho del colisionador en el que se ha producido la colision con el otro objeto.- Parameters:
otroObj- el objeto que ha colisinado con el objeto actual.- Returns:
- el lado del objeto duenho del colisionador en el que se ha producido la colision con el otro objeto.
-
estaEnTrayectoria
Calcula si algun punto del colisionador pasaria sobre el colisionador del objeto en el supuesto de que el centro del colisionador se desplazara al punto destino siguiendo una trayectoria recta.- Parameters:
obj- objeto obstaculo.ptoDestino- punto al que se desplaza el centro del colisionador.- Returns:
- si el obstaculo esta en la trayectoria hacia el punto destino.
-
estaEnTrayectoria
Calcula si algun punto del colisionador pasaria sobre el colisionador obstaculo en el supuesto de que el centro del colisionador se desplazara al punto destino siguiendo una trayectoria recta.- Parameters:
obstaculo- colisionador obstaculo.ptoDestino- punto al que se desplaza el centro del colisionador.- Returns:
- si el obstaculo esta en la trayectoria hacia el punto destino.
-
haceDominante
public void haceDominante(boolean dominante) Configura el colisionador como dominante o no.- Parameters:
dominante- dominante o no dominante.
-
esDominante
public boolean esDominante()Retorna si el colisionador es dominante.- Returns:
- si el colisionador es dominante.
-
esEtereo
public void esEtereo(boolean etereo) Configura el colisionador como etereo o no.- Parameters:
etereo- etereo o no etereo.
-
esEtereo
public boolean esEtereo()Retorna si el colisionador es etereo. Las colisiones entre dos objetos cuando al menos uno de ello es etereo se detectan, pero las los objetos se "atravesaran" sin que sus posiciones o velocidades se vean afectadas.- Returns:
- si el colisionador es etereo.
-
especifico
Configura el colisionador como especifico para una clase, lo que significa que solo colisiona con objetos de esa clase o de sus subclases.- Parameters:
claseEspecifica- clase especifica con la que colisiona.
-