Class JObjeto
- Direct Known Subclasses:
JObjetoCirculo,JObjetoEnlace,JObjetoIcono,JObjetoRectangulo,JObjetoTexto
Los objeto se desplazan por la escena en funcion de su velocidad y de la gravedad de la escena (en caso de haberla). Tambien pueden transladarse de forma abrupta en un ciclo llamando a los metodos desplaza() o posiciona(). Si en un ciclo se invocan los metodos desplaza() o posiciona() no se tendran en cuenta la velocidad ni la aceleracion.
Cada objeto tiene asociado un colisionador que es utilizado por la fisica
del juego para detectar colisiones. Al detectarse una colision entre objetos
se invoca el metodo colision(JObjeto, boolean) de ambos
objetos.
Los objetos se ven afectados por la gravedad de la escena. Se puede regular el efecto de la gravedad sobre un objeto particular mediante su propiedad "factor gravedad".
Esta clase es parte de j2d.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidadornoAnhade(JObjeto adorno) Anhade un objeto de adorno al objeto actual.final voidadornoAnhade(JObjeto adorno, int x, int y) Anhade un objeto de adorno al objeto actual.final voidadornoElimina(JObjeto adorno) Elimina el objeto como adorno del objeto actual.final intaltoY()Retorna el alto del objeto.final intanchoX()Retorna el ancho del objeto.final Rectanglearea()Retorna el area rectangular ocupada por el objeto.protected final voidasignaDimension(Dimension dimension) final voidasignaFactorGravedad(float factorGravedad) Asigna el factor de gravedad del objeto.final voidasignaVel(float vx, float vy) Asigna la velocidad del objeto.final voidAsigna la velocidad del objeto.final voidasignaVelX(float vx) Asigna la componente X de la velocidad del objeto.final voidasignaVelY(float vy) Asigna la componente Y de la velocidad del objeto.final Pointcentro()Retorna la posicion del centro del objeto.voidciclo()Invocada en cada ciclo del juego.voidInvocada por la fisica del juego cuando se detecta la colision con otro objeto.final ColisionadorRetorna el colisionador asociado al objeto.final booleanIndica si el area ocupada por el objeto actual contiene el area correspondiente al objeto pasado como parametro.final voiddesplaza(int dx, int dy) Desplazamiento del objeto en el ciclo actual.final voidDesplazamiento del objeto en el ciclo actual.protected abstract voiddibujaObjeto(Graphics2D g, int origenX, int origenY) Dibuja el objeto en el contexto grafico.final DimensionRetorna la dimension (ancho x alto) del objeto.final booleanesAdorno()Retorna si el objeto es un adorno.escena()Retorna la escena en la que esta el objeto.final booleanestaEnContacto(JObjeto otroObj) Indica si el objeto actual esta en contacto (esta tocando) el objeto pasado como parametro.final floatRetorna el factor de gravedad del objeto.final GuiaObjetoguia()Retorna el guia seguidor de trayectorias asociado al objeto.voidhaceLocalizablePorPunto(boolean localizable) Cambia si el objeto puede ser localizable con el métodoJEscena.buscaObjEnPunto(Point2D).final voidincrementaVel(float vx, float vy) Incrementa la velocidad del objeto.booleanRetorna si el objeto puede ser localizable con el métodoJEscena.buscaObjEnPunto(Point2D).final Stringnombre()Retorna el nombre del objeto.final voidActiva la notificacion por salida de pantalla.final voidDesactiva la notificacion por salida de pantalla.final booleanRetorna si la notificacion por salida de pantalla esta activa o no.final Pointposicion()Retorna la posicion del vertice superior izquierdo del objeto.final voidPosiciona el vertice superior izquierdo del objeto en el punto indicado.final voidposicionaCentro(Point centroDestino) Posiciona el centro del objeto en el punto indicado.final PointpuntoMedioConObjeto(JObjeto otroObj) Retorna el punto medio con otro objeto.voidInvocado cuando el objeto sale de la pantalla y esta activa la notificacion por salida por pantalla.toString()final Vector2DRetorna la velocidad de objeto.final floatvelX()Retorna la componente X de la velocidad del objeto.final floatvelY()Retorna la componente Y de la velocidad del objeto.final intx()Retorna la coordenada x del vertice superior izquierdo del objeto.final inty()Retorna la coordenada y del vertice superior izquierdo del objeto.
-
Constructor Details
-
JObjeto
Crea el objeto con las dimensiones indicadas.- Parameters:
nombre- nombre del objeto. En caso de que el nombre sea null, se asignara un nombre al objeto con el nombre de su clase y un contador.largoX- longitud en pixels del objeto.altoY- altura en pixels del objeto.
-
-
Method Details
-
nombre
Retorna el nombre del objeto.- Returns:
- el nombre del objeto.
-
escena
Retorna la escena en la que esta el objeto.- Returns:
- la escena en la que esta el objeto o null si el objeto no esta en ninguna escena.
-
x
public final int x()Retorna la coordenada x del vertice superior izquierdo del objeto.- Returns:
- la coordenada x del vertice superior izquierdo del objeto.
-
y
public final int y()Retorna la coordenada y del vertice superior izquierdo del objeto.- Returns:
- la coordenada y del vertice superior izquierdo del objeto.
-
posicion
Retorna la posicion del vertice superior izquierdo del objeto.- Returns:
- la posicion del vertice superior izquierdo del objeto.
-
anchoX
public final int anchoX()Retorna el ancho del objeto.- Returns:
- el ancho del objeto.
-
altoY
public final int altoY()Retorna el alto del objeto.- Returns:
- el alto del objeto.
-
dimension
Retorna la dimension (ancho x alto) del objeto.- Returns:
- la dimension (ancho x alto) del objeto.
-
centro
Retorna la posicion del centro del objeto.- Returns:
- la posicion del centro del objeto.
-
area
Retorna el area rectangular ocupada por el objeto.- Returns:
- el area rectangular ocupada por el objeto.
-
colisionador
Retorna el colisionador asociado al objeto.- Returns:
- el colisionador asociado al objeto.
-
guia
Retorna el guia seguidor de trayectorias asociado al objeto.- Returns:
- el guia seguidor de trayectorias asociado al objeto.
-
factorGravedad
public final float factorGravedad()Retorna el factor de gravedad del objeto.- Returns:
- el factor de gravedad del objeto.
-
asignaFactorGravedad
public final void asignaFactorGravedad(float factorGravedad) Asigna el factor de gravedad del objeto. Para el objeto la aceleracion de la gravedad se vera multiplicada por este factor. En particular, si este factor es 0, el objeto no se vera afectado por la gravedad de la escena.- Parameters:
factorGravedad- factor de gravedad del objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
desplaza
Desplazamiento del objeto en el ciclo actual.- Parameters:
d- desplazamiento del objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
desplaza
public final void desplaza(int dx, int dy) Desplazamiento del objeto en el ciclo actual.- Parameters:
dx- componente x del vector de desplazamiento del objeto.dy- componente y del vector de desplazamiento del objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
posiciona
Posiciona el vertice superior izquierdo del objeto en el punto indicado.- Parameters:
posDestino- punto donde posicionar el vertice superior izquierdo el objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
posicionaCentro
Posiciona el centro del objeto en el punto indicado.- Parameters:
centroDestino- punto donde posicionar el centro del objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
asignaDimension
-
velX
public final float velX()Retorna la componente X de la velocidad del objeto.- Returns:
- la componente X de la velocidad del objeto.
-
velY
public final float velY()Retorna la componente Y de la velocidad del objeto.- Returns:
- la componente Y de la velocidad del objeto.
-
velocidad
Retorna la velocidad de objeto.- Returns:
- la velocidad de objeto.
-
asignaVel
public final void asignaVel(float vx, float vy) Asigna la velocidad del objeto.- Parameters:
vx- componente X de la velocidad.vy- componente Y de la velocidad.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
asignaVel
Asigna la velocidad del objeto.- Parameters:
velocidad- velocidad del objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
asignaVelX
public final void asignaVelX(float vx) Asigna la componente X de la velocidad del objeto.- Parameters:
vx- componente X de la velocidad del objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
asignaVelY
public final void asignaVelY(float vy) Asigna la componente Y de la velocidad del objeto.- Parameters:
vy- componente Y de la velocidad del objeto.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
incrementaVel
public final void incrementaVel(float vx, float vy) Incrementa la velocidad del objeto.- Parameters:
vx- componente X del incremento de velocidad.vy- componente Y del incremento de la velocidad.- Throws:
UnsupportedOperationException- si el objeto es un adorno.
-
haceLocalizablePorPunto
public void haceLocalizablePorPunto(boolean localizable) Cambia si el objeto puede ser localizable con el métodoJEscena.buscaObjEnPunto(Point2D).- Parameters:
localizable- si es localizable o no.
-
localizablePorPunto
public boolean localizablePorPunto()Retorna si el objeto puede ser localizable con el métodoJEscena.buscaObjEnPunto(Point2D).- Returns:
- si el objeto puede ser localizable con el método
JEscena.buscaObjEnPunto(Point2D).
-
adornoAnhade
Anhade un objeto de adorno al objeto actual.El objeto se queda en la posicion en la que esta, solo que ahora pasa a moverse manteniendo su posicion relativa con el objeto actual (que pasa a ser su maestro).
Este metodo esta pensado para objetos "normales" que se convierten en adornos en un momento dado.
Un objeto de adorno se dibuja cuando se dibuja su maestro y no interviene en las colisiones ni es detectado como receptor de eventos puesto que no esta incluido en la escena. Si estaba en la escena, el adorno deja de estarlo al llamar a este metodo.
- Parameters:
adorno- objeto adorno.- Throws:
AssertionError- si el adorno es de un tipo no permitido.
-
adornoAnhade
Anhade un objeto de adorno al objeto actual.Un objeto de adorno se dibuja cuando se dibuja su maestro y no interviene en las colisiones ni es detectado como receptor de eventos puesto que no esta incluido en la escena. Si estaba en la escena, el adorno deja de estarlo al llamar a este metodo.
- Parameters:
adorno- objeto adorno.x- posicion x relativa a la esquina superior izquierda del objeto actual.y- posicion y relativa a la esquina superior izquierda del objeto actual.
-
adornoElimina
Elimina el objeto como adorno del objeto actual.- Parameters:
adorno- objeto adorno a eliminar.- Throws:
UnsupportedOperationException- si el objeto no es un adorno.
-
esAdorno
public final boolean esAdorno()Retorna si el objeto es un adorno.- Returns:
- si el objeto es un adorno.
-
ciclo
public void ciclo()Invocada en cada ciclo del juego. Por defecto no hace nada. Puede ser redefinida por el programador para dotar de comportamiento al objeto. -
salidaPantalla
public void salidaPantalla()Invocado cuando el objeto sale de la pantalla y esta activa la notificacion por salida por pantalla. -
notificacionSalidaPantallaActiva
public final void notificacionSalidaPantallaActiva()Activa la notificacion por salida de pantalla. Se invoca el metodosalidaPantalla(). -
notificacionSalidaPantallaDesactiva
public final void notificacionSalidaPantallaDesactiva()Desactiva la notificacion por salida de pantalla. Si el objeto sale de la pantalla es eliminado. -
notificacionSalidaPantallaEstaActiva
public final boolean notificacionSalidaPantallaEstaActiva()Retorna si la notificacion por salida de pantalla esta activa o no.- Returns:
- si la notificacion por salida de pantalla esta activa o no.
-
colision
Invocada por la fisica del juego cuando se detecta la colision con otro objeto. Por defecto no hace nada.- Parameters:
otroObj- objeto con el que se ha producido la colision.causante- es falso si este objeto no se ha movido en este ciclo puesto que, en ese caso, el objeto no ha podido ser el causante la colision.
-
dibujaObjeto
Dibuja el objeto en el contexto grafico.- Parameters:
g- contexto grafico en el que dibujar el objeto.origenX- coordenada x del punto respecto al que dibujar el objeto. Solo puede ser distinto de 0 para los objetos adorno.origenY- coordenada y del punto respecto al que dibujar el objeto. Solo puede ser distinto de 0 para los objetos adorno.
-
estaEnContacto
Indica si el objeto actual esta en contacto (esta tocando) el objeto pasado como parametro.- Parameters:
otroObj- el objeto con el que se quiere saber si hay contacto.- Returns:
- si los objetos estan en contacto o no.
-
contiene
Indica si el area ocupada por el objeto actual contiene el area correspondiente al objeto pasado como parametro.- Parameters:
otroObj- el objeto con el que se quiere saber si esta contenido.- Returns:
- si el objeto esta contenido o no.
-
puntoMedioConObjeto
Retorna el punto medio con otro objeto.- Parameters:
otroObj- el otro objeto.- Returns:
- el punto medio con otro objeto.
-
toString
-