Herramientas de usuario

Herramientas del sitio


frames

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
frames [2013/07/21 12:11]
al-khwarizmi
frames [2013/07/21 12:19]
al-khwarizmi
Línea 3: Línea 3:
 Los frames son áreas de tamaño fijo o variable que se pueden añadir a la ventana de juego para mostrar imágenes. Los frames se pueden añadir o quitar de la ventana dinámicamente,​ además de ir cambiando la imagen que muestran en cada momento. Esto permite, por ejemplo, implementar el clásico interfaz que muestra una imagen de la habitación en la que se encuentra el jugador en la parte superior de la ventana y el texto de la descripción debajo, entre otras funcionalidades. Los frames son áreas de tamaño fijo o variable que se pueden añadir a la ventana de juego para mostrar imágenes. Los frames se pueden añadir o quitar de la ventana dinámicamente,​ además de ir cambiando la imagen que muestran en cada momento. Esto permite, por ejemplo, implementar el clásico interfaz que muestra una imagen de la habitación en la que se encuentra el jugador en la parte superior de la ventana y el texto de la descripción debajo, entre otras funcionalidades.
  
-Los siguientes métodos para crear y borrar frames se pueden ejecutar sobre un objeto de la clase ''​MultimediaInputOutputClient'':​ ((el método ''​getIO()''​ de la clase ''​Player''​ nos devuelve una instancia de ''​MultimediaInputOutputClient''​ cuando el jugador esté utilizando un cliente de juego con soporte multimedia, como lo es el interfaz de ventanas de Aetheria Game Engine. Nótese que otros clientes, como el de línea de comandos cheapAGE, pueden no soportar multimedia y por lo tanto no permitir el uso de frames. Hay más información sobre esto (incluyendo cómo se comprueba si un cliente soporta multimedia) en la sección sobre [[imágenes]].))+Los siguientes métodos para crear y borrar frames se pueden ejecutar sobre un objeto de la clase ''​MultimediaInputOutputClient'':​ ((el método ''​getClient()''​ de la clase ''​Player''​ nos devuelve una instancia de ''​MultimediaInputOutputClient''​ cuando el jugador esté utilizando un cliente de juego con soporte multimedia, como lo es el interfaz de ventanas de Aetheria Game Engine. Nótese que otros clientes, como el de línea de comandos cheapAGE, pueden no soportar multimedia y por lo tanto no permitir el uso de frames. Hay más información sobre esto (incluyendo cómo se comprueba si un cliente soporta multimedia) en la sección sobre [[imágenes]].))
  
 === Métodos para crear frames === === Métodos para crear frames ===
Línea 60: Línea 60:
 === Manipulación avanzada de frames === === Manipulación avanzada de frames ===
  
-Solamente si eres un programador avanzado de Java y quieres ir más allá de mostrar imágenes en los frames, ​podría ​interesarte ​este método:+Solamente si eres un programador avanzado de Java y quieres ir más allá de mostrar imágenes en los frames, ​podrían ​interesarte ​estos métodos:
  
 <code java>/​*clase InputOutputClient*/​ JPanel getFrame ( int position )</​code>​ <code java>/​*clase InputOutputClient*/​ JPanel getFrame ( int position )</​code>​
-Dicho método devuelve ​el panel que se utiliza internamente para representar el frame, ​y puede ser utilizado ​por programadores que conozcan la API de Swing y que quieran dibujar directamente sobre él. Por supuesto, no hace falta este método ​para mostrar imágenes en frames, basta con los anteriores, que serán los que interesen a la gran mayoría de usuarios.+<code java>/​*clase InputOutputClient*/​ JPanel getFrame ( String name )</​code>​ 
 +Estos métodos devuelven ​el panel que se utiliza internamente para representar el frame, ​dada la posición (ImageConstants.TOP,​ etc.) en el primer caso, o el nombre del frame en el segundo caso, utilizándose un método u otro según si hemos dado o no nombre al frame. Pueden ​ser utilizados ​por programadores que conozcan la API de Swing y que quieran dibujar directamente sobre él. Por supuesto, no hacen falta estos métodos ​para mostrar imágenes en frames, basta con los anteriores, que serán los que interesen a la gran mayoría de usuarios.
  
 === Ejemplos de código === === Ejemplos de código ===
Línea 69: Línea 70:
 Creamos un frame en la parte superior de la pantalla de 300 píxeles de alto, y que incluye la imagen "​titulo.png"​ sin escalar. Creamos un frame en la parte superior de la pantalla de 300 píxeles de alto, y que incluye la imagen "​titulo.png"​ sin escalar.
 <code java> <code java>
-if ( jugador.getIO() instanceof MultimediaInputOutputClient && jugador.getIO().isGraphicsEnabled() )+if ( jugador.getClient() instanceof MultimediaInputOutputClient && jugador.getClient().isGraphicsEnabled() )
 { {
-  MultimediaInputOutputClient theClient = jugador.getIO();+  MultimediaInputOutputClient theClient = jugador.getClient();
   URL imageURL = world.getResource("​titulo.png"​);​   URL imageURL = world.getResource("​titulo.png"​);​
   theClient.addFrame ( ImageConstants.TOP , 300 );   theClient.addFrame ( ImageConstants.TOP , 300 );
frames.txt · Última modificación: 2013/07/21 12:19 por al-khwarizmi