jueves, 11 de agosto de 2011

XNA – PingPong, Introduccion


Cuando hacemos un juego, o en general alguna aplicación, debemos intentar ahorrar código, y usar las funciones adecuadas para poder manejarnos bien y no escribir “al pedo”. A mi no me gusta operar sobre la clase base de nuestro juego, es por eso que todo el código lo he dividido en varias clases: - Inicio.cs - Paletas.cs - Bola.cs - Puntaje.cs De esta forma en Inicio.cs(clase base) solo se colocan las funciones que deben operar y lo demás ocurre en las otras clases. Introducción La parte mas divertida de hacer un juego para mi gusto, es la de hacer su diseño. Dibujar y detallar las funciones de cada objeto dentro de nuestro juego nos salvara mas adelante de tener que modificar parte de tu juego por una cosa pequeña, ademas que es mas fácil ver el problema o algoritmo que tenemos que hacer para dicho objeto.
Nosotros tenemos que lograr algo como eso, viendo el boceto podemos hallar varios objetos que debemos ver.
1)Paletas: Las paletas seran nuestro personajes que tendran interaccion con el jugador, sus caracteristicas son las siguientes: * Solo tienen movimiento vertical * Deben tener colision contra la pelota, por lo tanto un BoundingBox * Seran dos paletas, la paleta azul(Player1) se movera con Q y A, la paleta roja(Player2) con P y L
Nota: Pueden buscar en google como crear sus propias paletas con Photoshop.
2)Pelota: La pelota sera el objeto que determinara gran parte del juego. Caracteristicas: * Tendra una velocidad, y cambiara cada ves que se devuelve el golpe con una paleta * Debe revotar contra las paredes de arriba y de abajo(multiplicar su velocidad actual por -1) * Si choca con las paredes de los costados, se debe resetear y sumar un tanto para el que lo logro
3)Puntaje: * Habra 2, uno para cada jugador * Cuando el puntaje cambie, se debe resetear las paletas y la bola * Cuando uno de los puntajes llege a 10, termino el juego

Para empezar Descargen el contenido para nuestro juego. Adentro esta el fondo del juego, las dos paletas y la pelotita. Crearemos un nuevo proyecto, lo llamaremos MiJuego_Tutorial_9. Una ves creado cambien el nombre de Game1.cs a Inicio.cs. Ahora cargaremos el fondo de nuestro juego, agregen el fondo.png que se encuentre en el contenido y luego declaren la variable para almacenar la textura.
Texture2D fondo;
Ahora en el metodo LoadContent
fondo = Content.Load<>("fondo");
Y por ultimo en el Draw.
spritebatch.Begin();
spriteBatch.Draw(fondo, new Rectangle(0, 0, Window.ClientBounds.Width, Window.ClientBounds.Height), Color.White);
spritebatch.End();
Windows.ClientBounds: Esta propiedad contiene informacion de la ventana de nuestro juego, en este caso nosotros usamos el Width y el Height para asignarle ese tamaño a nuestro fondo
Acá termina la introducción para crear un juego PingPong, para el próximo programaremos las paletas.