Hola a todos, buenos días.
Estoy intentando hacer un jueguecillo para nintendo DS y con la ayuda de la info que hay sobre Palib, he conseguido hacer unas cuantas cosas, pero ahora mismo estoy atascado.
El problema que tengo es el siguiente, quiero hacer disparos, en un juego plataforma. No necesito algo muy complejo, sino que el sprite de mi protagonista dispare un rayo, una bala o algo parecido, pero no encuentro información específica sobre el como.
Me gustaría pedir ayuda sobre eso, si sabeis de algún manual en el que aparezca como gestionar los disparos, o si teneis un ejemplo lo más sencillo posible para saber más o menos como funciona.
Muchas gracias de antemano. Saludos!
La bala es un sprite, el
La bala es un sprite, el personaje otro.
Colisiones entre sprites.
Gracias por tu respuesta,
Gracias por tu respuesta, lamentablemente eso si lo sabía, estaba buscando una información un poco más explicita o un poco más detallada, una cosa es mover mi personaje y otra que nose es como lanzar su bala y que se mueva correctamente, de momento la bala sale pero se ve repetida en la trayectoria y no desaparece.
Alguien tiene algun ejemplillo o manual?
a ver...
create una estructura o clase disparo con las siguientes variables, por ejemplo, tu luego puedes jugar... Yo en el zenit tenia estas (eran disparos verticales)
class DISPARO
{
private:
int id; //no es necesaria pero te puede valer para identificar cada disparo
int x; // Basicamente con este y con el siguiente para coordenadas ya tendrias bastante!!!!
int y;
int yFinal; //segun la 'calidad' del disparo alejaba mas o menos, esta variable me servia para calcular el final pero puede ser el limite de la pantalla
int potencia; //tambien iba determinada por la calidad
bool Active; //se si ese disparo esta en pantalla o no...
int tipoDisparo; // pos eso, en zenit esta el torpedo, el disparo amarillo, el azul, el dirigido, arcos y aros
int acumuladorX; // estos son de apoyo para movimientos de la bala, para ajustar mejor el movimiento, algo que hace los disparos del 2º enemigo final.
int acumuladorY; // para movimiento verticales, lo tenia pensado para disparos dirigidos pero todavia no lo he implementado.
..
...
public:
...
...
};
DISPARO disparo[MAXDISPAROS]; //Vector de n disparos, asi luego puedes acceder a las coordenadas de cada uno de ellos...
---
Bueno, como ves lo he hecho con una clase pero si te sientes mas comodo usando estructuras es mas sencillo al principio.
lo importante, es que crees o clones un sprite (disparo) y luego calcules su siguiente posición, por ejemplo disparo.x = disparo.x + 1; (mejor usa punto fijo es mas realista), lo asignes a la variable de la estructura o clase y finalmente lo muevas con PA_SetSpriteXY(blablabla)
Como he hecho un juego de ese tipo hace poco lo tengo algo fresco... Suerte espero haberte ayudado.
Saludos!
Visita mi blog. Zenit + 5 will win
Gracias por tu respuesta,
Gracias por tu respuesta, estoy intentando hacer algo parecido, pero no me termina de salir, con el código siguiente, me sale el sprite de la bala, en el lugar en el que debe estar al final, pero no me sale el recorrido de esta:
Bueno, el caso es q estoy comenzando y a pesar de que pueda ser sencillo para los experimentados, a mi me esta dando un buen dolor de cabeza...
Espero no molestarte mucho! Saludos!
prueba de poner al final del
prueba de poner al final del for la instr. PA_WaitForVBL(); esta se espera a que suceda el siguiente refresco (hay 60 x seg), ahora si te fijas a la que pulses B se creará la bala en la posicion que tu quieres que es correcto pero luego el juego no continuará hasta que la bala no salga por el final. Esto hará que pierda realismo. tienes que pensar una manera que no interrumpas el juego a cada pulsación.
Visita mi blog. Zenit + 5 will win