Cursos y Másters | ||
| Inicio Profesores Aulas Testimonios Cursos Masters Tecnologías Cursos Gratuitos Galería de Proyectos Solicitar Información |
| Página Anterior - Fotogramas - II | Página Actual - 16 - El Jugador | Página Siguiente - Controlando el jugador |
| Índice de cursos Java gratuitos |
El JugadorEl jugador no es más que un actor que además puede ser controlado por el usuario mediante el teclado o el ratón. Vamos a hacerlo descender de Actor y además vamos a adoptar las siguientes premisas en cuanto a su comportamiento, para poder modelar la clase de forma correcta
De estas tres premisas queda claro que la nave del jugador es similar a un monstruo, con la única excepción de que tiene una velocidad x y una velocidad y. Para el gráfico vamos a utilizar el siguiente - que será además el único fotograma:
Dicho esto, la clase quedaría como sigue (todavía no hemos incorporado el control del movimiento):
1 /** 2 * Curso B?sico de desarrollo de Juegos en Java - Invaders 3 * 4 * (c) 2004 Planetalia S.L. - Todos los derechos reservados. Prohibida su reproducci?n 5 * 6 * http://www.planetalia.com 7 * 8 */ 9 package version16; 10 11 public class Player extends Actor { 12 protected int vx; 13 protected int vy; 14 15 16 public Player(Stage stage) { 17 super(stage); 18 setSpriteNames( new String[] {"nave.gif"}); 19 } 20 21 public void act() { 22 super.act(); 23 x+=vx; 24 y+=vy; 25 if (x < 0 || x > Stage.WIDTH) 26 vx = -vx; 27 if (y < 0 || y > Stage.HEIGHT) 28 vy = -vy; 29 } 30 31 public int getVx() { return vx; } 32 public void setVx(int i) {vx = i; } 33 public int getVy() { return vy; } 34 public void setVy(int i) {vy = i; } 35 } 36 Lógicamente tendremos que modificar la clase principal para dar acomodo al jugador. No añadiremos el jugador a la lista de actores del escenario porque el jugador es un actor que va a tener un tratamiento totalmente especial, a diferencia de todos los demás. Sin embargo, las cosas que se hacen con él en principio serán las mismas - pintarlo, decirle que actúe, etc... :
1 package version16; 2 /** 3 * Curso B?sico de desarrollo de Juegos en Java - Invaders 4 * 5 * (c) 2004 Planetalia S.L. - Todos los derechos reservados. Prohibida su reproducci?n 6 * 7 * http://www.planetalia.com 8 * 9 */ 10 11 12 import java.awt.Canvas; 13 import java.awt.Color; 14 import java.awt.Dimension; 15 import java.awt.Graphics2D; 16 import java.awt.event.WindowAdapter; 17 import java.awt.event.WindowEvent; 18 import java.awt.image.BufferStrategy; 19 import java.util.ArrayList; 20 21 import javax.swing.JFrame; 22 import javax.swing.JPanel; 23 24 public class Invaders extends Canvas implements Stage { 25 26 private BufferStrategy strategy; 27 private long usedTime; 28 29 private SpriteCache spriteCache; 30 private ArrayList actors;
|
||||||||||||||
¿Quieres ser notificado cuando salan nuevos tutoriales y cursos?. Pulsa aquí
| Actor.java | Invaders.java | Monster.java | Player.java |
| SpriteCache.java | Stage.java | Test.java |
| Página Anterior - Fotogramas - II | Página Actual - 16 - El Jugador | Página Siguiente - Controlando el jugador |
| Índice de cursos Java gratuitos |
(c) 2004 Planetalia S.L. Todos los derechos reservados. Prohibida su reproducción