Package j2d
Class JEscena
java.lang.Object
j2d.JEscena
Clase que representa cada una de las escenas que componen un juego.
Dependiendo del tipo de juego, las escenas también se denominan: nivel,
pantalla, escenario, etc. Habitualmente también son escenas las pantallas de
presentacion del juego, instrucciones, epilogo, etc.
Cada escena contiene una serie de objetos. Los objetos se incluyen en la
escena utilizando los metodos incluyeObj(JObjeto, int, int)
e incluyeObjCentrado(JObjeto, int, int). Los objetos
iniciales de una escena se crean en su constructor y/o en su metodo
entraEscena().
Esta clase es parte de j2d.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classLanzada si el objeto no esta incluido en la escena.static classLanzada si el objeto ya esta incluido en la escena. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringNombre del fondo de la escena (creado con los metodos pone*Fondo(). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal intaltoY()Retorna la altura en pixels de la escena.final intanchoX()Retorna la anchura en pixels de la escena.final voidasignaGravedad(float gravedad) Asigna la aceleracion de gravedad a la que se ven sometidos los objetos de la escena.final JObjetoBusca y retorna un objeto con el nombre indicado incluido en la escena.final JObjetoRetorna el ultimo objeto segun el orden de dibujo cuyo area contiene el punto indicado.voidcambioDimension(Dimension dimActual) Invocado cuando las dimensiones del panel de juego han cambiado.voidciclo()Invocada en cada ciclo del juego.voidcontroladoRatonAnhade(IControladoRaton controlado) Anhade un elemento controlado con el raton.voidcontroladoRatonElimina(IControladoRaton controlado) Elimina un elemento controlado con el raton.voidElimina todos los elementos controlados por el raton.voidElimina todos los elementos controlados por del teclado.voidcontroladoTecladoAnhade(IControladoTeclado controlado) Anhade un elemento controlado con el teclado.voidcontroladoTecladoElimina(IControladoTeclado controlado) Elimina un elemento controlado con el teclado.final voidcreaBordes(Color color) Crea bordes de la pantalla como rectangulos que solo ocupan el borde de la pantalla pero muy anchos para que no se lo puedan "saltar" los objetos por muy rapidos que sean.voideliminaObj(JObjeto obj) Elimina el objeto de la escena.voidInvocada al entrar a una escena.final JObjetoRectangulofondo()Retorna el fondo de la escena.final floatgravedad()Retorna la aceleracion de gravedad a la que se ven sometidos los objetos de la escena.final voidincluyeObj(JObjeto obj, int x, int y) Incluye el objeto en la escena con su esquina superior izquierda en las coordenadas indicadas.final voidincluyeObj(JObjeto obj, Point pos) Incluye el objeto en la escena con su esquina superior izquierda en punto indicado.final voidincluyeObjCentrado(JObjeto obj, int centroX, int centroY) Incluye el objeto en la escena con su centro en las coordenadas indicadas.final voidincluyeObjCentrado(JObjeto obj, Point centro) Incluye el objeto en la escena con su centro en punto indicado.final Stringnombre()Retorna el nombre de la escena.final JObjetoobjetoContenedor(JObjeto objContenido) Retorna el ultimo objeto segun el orden de dibujo cuyo area contiene el area del objeto indicado.final booleanRetorna si el objeto esta incluido en la escena.final Collection<JObjeto>objetos()Retorna los objetos incluidos en la escena.final voidponeDelante(JObjeto obj) Dibuja el objeto por delante de todos los demas de la escena.final voidPone el fondo de la pantalla a color indicado.final voidponeTexturaFondo(Image textura, float escala) Pone el fondo de la pantalla con al textura indicada.final voidponeTexturaHexFondo(Image textura) Pone el fondo de la pantalla con al textura hexagonal indicada.voidAnhade un objeto receptor de eventos de raton que sera notificado cuando el raton sea pulsado sobre el.voidElimina un objeto receptor de eventos de raton.toString()
-
Field Details
-
NOMBRE_FONDO
Nombre del fondo de la escena (creado con los metodos pone*Fondo().- See Also:
-
-
Constructor Details
-
JEscena
public JEscena()Crea una escena. -
JEscena
Crea una escena.- Parameters:
nombre- nombre que identifica la escena.
-
-
Method Details
-
nombre
Retorna el nombre de la escena.- Returns:
- el nombre de la escena.
-
anchoX
public final int anchoX()Retorna la anchura en pixels de la escena.- Returns:
- la anchura en pixels de la escena.
-
altoY
public final int altoY()Retorna la altura en pixels de la escena.- Returns:
- la altura en pixels de la escena.
-
gravedad
public final float gravedad()Retorna la aceleracion de gravedad a la que se ven sometidos los objetos de la escena.- Returns:
- gravedad a la que se ven sometidos los objetos de la escena.
-
asignaGravedad
public final void asignaGravedad(float gravedad) Asigna la aceleracion de gravedad a la que se ven sometidos los objetos de la escena.- Parameters:
gravedad- gravedad a la que se ven sometidos los objetos de la escena.
-
poneTexturaFondo
Pone el fondo de la pantalla con al textura indicada.- Parameters:
textura- imagen de la textura.escala- escala de la textura.
-
poneTexturaHexFondo
Pone el fondo de la pantalla con al textura hexagonal indicada.- Parameters:
textura- imagen de la textura.
-
poneFondo
Pone el fondo de la pantalla a color indicado. Crea un objeto rectangulo de nombre "escena.fondo".- Parameters:
color- del fondo de la pantalla.
-
fondo
Retorna el fondo de la escena.- Returns:
- el fondo de la escena o null si la escena no tiene fondo.
-
creaBordes
Crea bordes de la pantalla como rectangulos que solo ocupan el borde de la pantalla pero muy anchos para que no se lo puedan "saltar" los objetos por muy rapidos que sean. Los bordes son objetos con los nombres "escena.techo", "escena.suelo", "escena.paredIzq" y "escena.paredDer"- Parameters:
color- color de los bordes.
-
incluyeObj
Incluye el objeto en la escena con su esquina superior izquierda en las coordenadas indicadas.- Parameters:
obj- objeto a incluir.x- coordenada X en la que se situa la esquina superior izquierda del objeto.y- coordenada Y en la que se situa la esquina superior izquierda del objeto.- Throws:
JEscena.ObjetoYaEnEscena- si el objeto ya se encuentra incluido en la escena.UnsupportedOperationException- si el objeto ya esta incluido en otra escena.
-
incluyeObj
Incluye el objeto en la escena con su esquina superior izquierda en punto indicado.- Parameters:
obj- objeto a incluir.pos- punto en el que se situa la esquina superior izquierda del objeto.- Throws:
JEscena.ObjetoYaEnEscena- si el objeto ya se encuentra incluido en la escena.
-
incluyeObjCentrado
public final void incluyeObjCentrado(JObjeto obj, int centroX, int centroY) throws JEscena.ObjetoYaEnEscena Incluye el objeto en la escena con su centro en las coordenadas indicadas.- Parameters:
obj- objeto a incluir.centroX- coordenada x en la que se situa el centro del objeto.centroY- coordenada y en la que se situa el centro del objeto.- Throws:
JEscena.ObjetoYaEnEscena- si el objeto ya se encuentra incluido en la escena.
-
incluyeObjCentrado
Incluye el objeto en la escena con su centro en punto indicado.- Parameters:
obj- objeto a incluir.centro- punto en el que se situa el centro del objeto.- Throws:
JEscena.ObjetoYaEnEscena- si el objeto ya se encuentra incluido en la escena.
-
eliminaObj
Elimina el objeto de la escena.- Parameters:
obj- objeto a eliminar.- Throws:
JEscena.ObjetoNoEnEscena- si el objeto no esta incluido en la escena.
-
objetos
Retorna los objetos incluidos en la escena.- Returns:
- los objetos incluidos en la escena.
-
buscaObj
Busca y retorna un objeto con el nombre indicado incluido en la escena.- Parameters:
nombre- nombre del objeto buscado.- Returns:
- objeto con el nombre indicado o null si en la escena no hay ningun objeto con ese nombre.
-
objetoEstaIncluido
Retorna si el objeto esta incluido en la escena.- Parameters:
obj- objeto.- Returns:
- si el objeto esta incluido en la escena.
-
buscaObjEnPunto
Retorna el ultimo objeto segun el orden de dibujo cuyo area contiene el punto indicado.- Parameters:
p- punto.- Returns:
- el ultimo objeto segun el orden de dibujo cuyo area contiene el punto indicado o null si no hay ningun objeto en ese punto.
-
objetoContenedor
Retorna el ultimo objeto segun el orden de dibujo cuyo area contiene el area del objeto indicado.- Parameters:
objContenido- objeto.- Returns:
- el ultimo objeto segun el orden de dibujo cuyo area contiene el area del objeto indicado o null si no hay ningun objeto en ese punto.
-
ciclo
public void ciclo()Invocada en cada ciclo del juego. Por defecto este metodo no hace nada. -
entraEscena
public void entraEscena()Invocada al entrar a una escena. Por defecto este metodo no hace nada. Puede ser redefinido por el usuario. -
cambioDimension
Invocado cuando las dimensiones del panel de juego han cambiado.- Parameters:
dimActual- dimensión actual del panel de juego.
-
toString
-
poneDelante
Dibuja el objeto por delante de todos los demas de la escena.- Parameters:
obj- objeto a dibujar delante.- Throws:
JEscena.ObjetoNoEnEscena- si el objeto no esta incluido en la escena.
-
controladoTecladoAnhade
Anhade un elemento controlado con el teclado.- Parameters:
controlado- elemento controlado (habitualmente un objeto o la escena)
-
controladoTecladoElimina
Elimina un elemento controlado con el teclado.- Parameters:
controlado- elemento controlado (habitualmente un objeto o la escena)
-
controladoRatonAnhade
Anhade un elemento controlado con el raton.- Parameters:
controlado- elemento controlado (habitualmente un objeto o la escena)
-
controladoRatonElimina
Elimina un elemento controlado con el raton.- Parameters:
controlado- elemento controlado (habitualmente un objeto o la escena)
-
receptorRatonAnhade
Anhade un objeto receptor de eventos de raton que sera notificado cuando el raton sea pulsado sobre el.- Parameters:
obj- objeto receptor de eventos de raton.
-
receptorRatonElimina
Elimina un objeto receptor de eventos de raton.- Parameters:
obj- objeto receptor de eventos de raton a eliminar.
-
controladosRatonEliminaTodos
public void controladosRatonEliminaTodos()Elimina todos los elementos controlados por el raton. -
controladosTecladoEliminaTodos
public void controladosTecladoEliminaTodos()Elimina todos los elementos controlados por del teclado.
-