Package j2d

Class Colisionador

java.lang.Object
j2d.Colisionador

public class Colisionador extends Object
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 Classes
    Modifier and Type
    Class
    Description
    static enum 
    Lado en el que se produce la colision.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Colisionador(JObjeto objeto, Dimension dimension)
    Construye un colisionador asociado al objeto.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Activa el colisionador.
    Retorna el area del colisionador.
    void
    Desactiva el colisionador.
    boolean
    Retorna si el colisionador es dominante.
    boolean
    Retorna si el colisionador es etereo.
    void
    esEtereo(boolean etereo)
    Configura el colisionador como etereo o no.
    void
    especifico(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.
    boolean
    Retorna si el colisionador esta activo o no.
    boolean
    estaEnTrayectoria(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.
    boolean
    estaEnTrayectoria(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.
    void
    haceDominante(boolean dominante)
    Configura el colisionador como dominante o no.
    Retorna el lado del objeto duenho del colisionador en el que se ha producido la colision con el otro objeto.
    Retorna el objeto asocido con el colisionador.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Colisionador

      public Colisionador(JObjeto objeto, Dimension dimension)
      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

      public JObjeto objeto()
      Retorna el objeto asocido con el colisionador.
      Returns:
      el objeto asocido con el colisionador.
    • area

      public Rectangle area()
      Retorna el area del colisionador.
      Returns:
      el area del colisionador.
    • ladoColision

      public Colisionador.Lado ladoColision(JObjeto otroObj)
      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

      public boolean estaEnTrayectoria(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.
      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

      public boolean estaEnTrayectoria(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.
      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

      public void especifico(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.
      Parameters:
      claseEspecifica - clase especifica con la que colisiona.