Dudas Tutorial Space Invaders

Tutoriales, ejemplos, dudas, eventos, noticias... en definitiva todo lo relacionado con XNA.

Dudas Tutorial Space Invaders

Notapor rantamplan » Mar Dic 01, 2009 11:18 am

Si tienes alguna duda con el tutorial del Space Invaders o quieres proponer alguna mejora o algún nuevo capitulo del tutorial, este es tu sitio. Pregunta!

Entregas publicadas
Entrega 1: Descargando el software necesario
Entrega 2: Moviendo un sprite por la pantalla
Entrega 3:Añadiendo disparos
Entrega 4: Añadiendo Enemigos
Entrega 5: Añadiendo disparos de los enemigos
rantamplan
 
Mensajes: 12
Registrado: Dom Nov 29, 2009 1:04 pm
Ubicación: Alicante

Re: Dudas Tutorial Space Invaders

Notapor larry3 » Vie Feb 05, 2010 12:26 am

Buenas, tengo dudas con que hace estar parte del codigo del tercer tutorial.

disp = new Disparo(new Vector2(pos.X + textura.Width/2, pos.Y), texturaDisparo);

A la hora de añadir el disparo a la clase nave, la ultima parte "texturaDisparo" me la marca siempre como error y no se cual puede ser el fallo por que, entre otras cosas no entiendo muy bien la linea.

El error que me indica es que "El nombre 'texturaDisparo' no existe en el contesto actual"

Saludos y gracias por el tutorial.
larry3
 
Mensajes: 1
Registrado: Vie Feb 05, 2010 12:22 am

Re: Dudas Tutorial Space Invaders

Notapor rantamplan » Vie Feb 05, 2010 10:35 am

Hola:
El problema es debido a que te falta cargar la textura del disparo. Como no esta cargada, cuando llega a esa linea de codigo que necesita la textura, salta el error, porque la busca y no la encuentra.

Lo que tienes que hacer es ir a "Game1.cs" y carga la textura correspondiente en el método "LoadContent()";

nave.TexturaDisparo = Content.Load<Texture2D>("disparoNave");


En todas la entregas os dejo el codigo fuente al final para que os descargueis el codigo fuente para que le podais pegar un vistazo .
Si tienes mas dudas, no dudes en preguntar.
Un saludo
rantamplan
 
Mensajes: 12
Registrado: Dom Nov 29, 2009 1:04 pm
Ubicación: Alicante

Re: Dudas Tutorial Space Invaders

Notapor daniels13ca » Mar Mar 23, 2010 12:21 am

Hola, le he hecho algunas modificaciones al juego, entre ellas agregarle sonido, pero cuando reproduce algun sonido se bloquea pro un instante, los sonidos pesan muy poco.

para reproducirlos uso MediaPlayer.Play();

no se como adjuntar archivos en este foro así que si alguien me quiere colaborar me puede escribir a silvdaniel@gmail.com para enviarles el juego modificado

Gracias
daniels13ca
 
Mensajes: 2
Registrado: Mar Mar 23, 2010 12:18 am

Re: Dudas Tutorial Space Invaders

Notapor rantamplan » Mar Mar 23, 2010 8:10 am

En lugar de MediaPlayer.Play();, usa lo siguiente:

//Declarar sonido
SoundEffect soundEffect;
string soundName = "kaboom";

//Reproducir sonido
ContentManager contentManager = new ContentManager(this.Services, @"Content\");
soundEffect = contentManager.Load<SoundEffect>(soundName);
soundEffect.Play();




Fuente: http://msdn.microsoft.com/en-us/library/bb195053.aspx
rantamplan
 
Mensajes: 12
Registrado: Dom Nov 29, 2009 1:04 pm
Ubicación: Alicante

Re: Dudas Tutorial Space Invaders

Notapor daniels13ca » Mar Mar 23, 2010 11:53 pm

Listo con ese método si funciono, lo malo es que no reproduce mp3 (hace los juegos mas pesados)

¿A que se puede deber que el MediaPlayer no funcione?

Gracias
daniels13ca
 
Mensajes: 2
Registrado: Mar Mar 23, 2010 12:18 am

Re: Dudas Tutorial Space Invaders

Notapor Stylish » Jue Abr 01, 2010 10:18 am

Para que MediaPlayer.Play() funcione, el asset que le pases tiene que estar declarado con el tipo de datos Song y tiene que tener escogido como su Importer el Song. Los efectos de sonido se cargan como SoundEffect y ellos mismos encapsulan su método .Play(). Estoy seguro al 99% de que es eso.

Saludos,
Stylish
 
Mensajes: 1
Registrado: Jue Abr 01, 2010 10:16 am

Re: Dudas Tutorial Space Invaders

Notapor BeRToSVeRi » Mar May 18, 2010 9:36 am

Hola, buenas, tenia una dudilla respecto a la colision de los enemigos contra la nave, ya que pasan por encima y no se acaba el juego jajajaja, y estoy haciendo este jueguecito del space invaders para un proyecto de final de curso, y queria añadirle que al colisionar los enemigos con la nave, se acabase el juego ... yo mirando encontre donde salia el impacto de los disparos con las nave o con los enemigos, que esta dentro del if (estado != GameState.Pausa) ... y yo le añadi esto foreach (Enemigo e in enemigos)
{
Rectangle rectEnemigo = e.Rect;
Rectangle rectnave = nave.Rectangulo;
if (rectEnemigo.Intersects(rectnave))
{
nave = null;
interfaz.Vidas = 0;
estado = GameState.GameOver;
}
}
pensando que asi en teoria al colisionar el enemigo cotra la nave tendria que acabar, pero asi con cualquier impacto ... el juego peta ...

Seguire intentandolo, si me pudieras hechar una mano seria de gran ayuda, muxas gracias :D
BeRToSVeRi
 
Mensajes: 1
Registrado: Mar May 18, 2010 9:28 am

Re: Dudas Tutorial Space Invaders

Notapor alex7 » Mié May 19, 2010 3:44 pm

Hola tengo una pregunta, estoy haciendo un videojuego para un proyecto final de la escuela, ya tengo las bases de mi juego, es de una neve que destruye otras naves y acumula puntos por cada una que destruye; mi pregunta es como le puedo hacer para que cada que acumule n cantidad de puntos cambie de nivel (a uno mas avanzado); y otra pregunta es como puedo hacer un itro para mi juego.
GRACIAS. :D
alex7
 
Mensajes: 1
Registrado: Mar May 18, 2010 8:27 pm


Volver a General

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron