Hola, soy Champol xD
Bueno, en verdad hacer un juego as? es bastante dif?cil, pero lo b?sico en cuanto las armas lo explicar? aqu?.
Primero, si quieres que uno pueda elegir el arma, crea en un c?digo que se ejecute al inicio de una batalla la variable "arma" o algo as?. Por ejemplo
Esta variable ser? qu? arma est?s usando (por ejemplo 0 es bazuca, 1 es granada, 2 es pistola, etc). Cuando crees un objeto que sea un arma, haz lo siguiente: en el evento "create" pon que tenga una velocidad "vel" y con ?ngulo "ang", adem?s de una gravedad (yo uso 0.5) en 270? (hacia abajo).
Adem?s elije qu? sucede si por ejemplo choca contra el piso, o contra el enemigo... etc (tu eliges c?mo es tu arma).
Entonces ademas de "arma" deber?as tener:
Bueno, en mi caso cre? un objeto llamado "Mira" (que es como hacia adonde apuntas con tu arma) que la gracia es que gira en torno al personaje seg?n aprietas la flecha de arriba o de abajo, o sea para apuntar m?s arriba o m?s abajo. Esta mira en cada "begin step event" salta al centro del personaje (o al lugar DESDE el cual disparas) y luego en el event "step" le agregu? movimiento (esas flechitas azules)con velocidad por ejemplo 150 (es la distancia en pixeles a la cual gira la mira en torno al personaje) y ?ngulo ang (la variable que ya creamos). Entonces la mira "salta" sin que la veamos (porque ocurre en cada step) desde el personaje hasta la distancia 150, justo en el ?ngulo ang, por lo que si disparamos con ese ?ngulo, la bala sale hacia all?.
Lo m?s complicado es el Power Bar (barra de potencia).
Ac? hay 2 objetos b?sicos: La barra (que podr?a ser simplemente dibujada, ya que solo est? para mostrarla y no realiza ninuna acci?n) y el "se?alizador" de potencia. En mi caso, al presionar el boton de disparo (sin soltarlo) el se?alizador empieza a moverse a la derecha (por ejemplo con velocidad 3) y cuando llega al otro borde de la barra se queda quieto (es la m?xima potencia... depende de c?mo quieras que sea, y del tama?o de tus sprites) Esto se hace con una alarm que hace que el se?alizador no siga avanzando.
Entonces haz esto: por ejemplo el se?alizador parte en la posici?n x 100, y m?ximo llega hasta 200. Adem?s se mueve con velocidad 4 (en este caso el alarm deber?a durar 200/4 = 50 steps... o quiz? 1 m?s o uno menos). Entonces imagina que la m?xima velocidad con que quieres disparar un arma es 15, entonces, en el evento "soltar el bot?n de disparo" primero que todo, debes hacer la f?rmula "(posici?n del se?alizador) - (posici?n original) * (una constante), constante que depende de la velocidad m?xima que quieres que sea posible. En el caso descrito, ser?a:
Bueno, despu?s de definir esta velocidad, el se?alizador vuelve a su posici?n original (hay una acci?n simple para esto).
La alarma vuelve a 0, y lo m?s importante: SE CREA EL ARMA QUE ELEGISTE, CON LA VELOCIDAD QUE LE DISTE, Y EL ?NGULO QUE TIENES EN LA MIRA.
Para esto yo hice lo siguiente: JUSTO despu?s de volver a su posici?n, el se?alizador crea un objeto extra llamado Arma en la posici?n desde cual salen las armas. Este objeto no es en verdad un arma, pero hace lo siguiente:
-Mira cu?l es el valor de la variable "arma", y seg?n eso crea el arma que el jugador quiere. por ejemplo
En verdad ese objeto no es necesario (lo puede hacer el mismo "se?alizador", o se puede usar un "switch" en vez de un if/else (si sabes lo que es).
Pero bueno, el caso es que creas el arma en su posici?n, y le das la velocidad y ?ngulo que quieres.
Ahora las armas las inventas t? ;)
Y recuerden: siempre intenten ingeniarse c?mo resolver este tipo de problemas... en mi caso, part? haci?ndolo de la forma m?s principiante, menos eficiente pero m?s f?cil de entender con lo que sab?a, y luego fui haci?ndole mejoras... ahora la puedo hacer con puros c?digos, pero al comienzo eran puros objetos (no sab?a crear variables ni usar c?digos)
Y eso. espero que les sirva y que usen su ingenio para desarrollar mejores ideas tambi?n ;)
Chau. ?VIVA CHILE!
Edito: Falt? mencinar algo: debe haber un bot?n, o alguna forma de cambiar de arma... es decir, de elegir cu?l usar, cambiando la variable "arma".
Ejemplo: una acci?n para el evento "presionar boton para cambiar de arma"
Eso por ahora =)
Bueno, en verdad hacer un juego as? es bastante dif?cil, pero lo b?sico en cuanto las armas lo explicar? aqu?.
Primero, si quieres que uno pueda elegir el arma, crea en un c?digo que se ejecute al inicio de una batalla la variable "arma" o algo as?. Por ejemplo
Código [Seleccionar]
globalvar arma; arma = 0;
Esta variable ser? qu? arma est?s usando (por ejemplo 0 es bazuca, 1 es granada, 2 es pistola, etc). Cuando crees un objeto que sea un arma, haz lo siguiente: en el evento "create" pon que tenga una velocidad "vel" y con ?ngulo "ang", adem?s de una gravedad (yo uso 0.5) en 270? (hacia abajo).
Adem?s elije qu? sucede si por ejemplo choca contra el piso, o contra el enemigo... etc (tu eliges c?mo es tu arma).
Entonces ademas de "arma" deber?as tener:
Código [Seleccionar]
globalvar vel,ang; vel = 0; ang = 45; //o da lo mismo
Bueno, en mi caso cre? un objeto llamado "Mira" (que es como hacia adonde apuntas con tu arma) que la gracia es que gira en torno al personaje seg?n aprietas la flecha de arriba o de abajo, o sea para apuntar m?s arriba o m?s abajo. Esta mira en cada "begin step event" salta al centro del personaje (o al lugar DESDE el cual disparas) y luego en el event "step" le agregu? movimiento (esas flechitas azules)con velocidad por ejemplo 150 (es la distancia en pixeles a la cual gira la mira en torno al personaje) y ?ngulo ang (la variable que ya creamos). Entonces la mira "salta" sin que la veamos (porque ocurre en cada step) desde el personaje hasta la distancia 150, justo en el ?ngulo ang, por lo que si disparamos con ese ?ngulo, la bala sale hacia all?.
Lo m?s complicado es el Power Bar (barra de potencia).
Ac? hay 2 objetos b?sicos: La barra (que podr?a ser simplemente dibujada, ya que solo est? para mostrarla y no realiza ninuna acci?n) y el "se?alizador" de potencia. En mi caso, al presionar el boton de disparo (sin soltarlo) el se?alizador empieza a moverse a la derecha (por ejemplo con velocidad 3) y cuando llega al otro borde de la barra se queda quieto (es la m?xima potencia... depende de c?mo quieras que sea, y del tama?o de tus sprites) Esto se hace con una alarm que hace que el se?alizador no siga avanzando.
Entonces haz esto: por ejemplo el se?alizador parte en la posici?n x 100, y m?ximo llega hasta 200. Adem?s se mueve con velocidad 4 (en este caso el alarm deber?a durar 200/4 = 50 steps... o quiz? 1 m?s o uno menos). Entonces imagina que la m?xima velocidad con que quieres disparar un arma es 15, entonces, en el evento "soltar el bot?n de disparo" primero que todo, debes hacer la f?rmula "(posici?n del se?alizador) - (posici?n original) * (una constante), constante que depende de la velocidad m?xima que quieres que sea posible. En el caso descrito, ser?a:
Código [Seleccionar]
vel = (Senalizador.x-100)*(100/15); //donde Senalizador es el objeto se?alizador, y 100/15 porque la distancia m?xima que recorre es 100, y la velocidad m?xima es 15.
Bueno, despu?s de definir esta velocidad, el se?alizador vuelve a su posici?n original (hay una acci?n simple para esto).
La alarma vuelve a 0, y lo m?s importante: SE CREA EL ARMA QUE ELEGISTE, CON LA VELOCIDAD QUE LE DISTE, Y EL ?NGULO QUE TIENES EN LA MIRA.
Para esto yo hice lo siguiente: JUSTO despu?s de volver a su posici?n, el se?alizador crea un objeto extra llamado Arma en la posici?n desde cual salen las armas. Este objeto no es en verdad un arma, pero hace lo siguiente:
-Mira cu?l es el valor de la variable "arma", y seg?n eso crea el arma que el jugador quiere. por ejemplo
Código [Seleccionar]
if (arma = 0) {object_create(Bazuca,self.x,self.y);}
else if (arma = 1) {...} //Lo mismo con las dem?s armas
En verdad ese objeto no es necesario (lo puede hacer el mismo "se?alizador", o se puede usar un "switch" en vez de un if/else (si sabes lo que es).
Pero bueno, el caso es que creas el arma en su posici?n, y le das la velocidad y ?ngulo que quieres.
Ahora las armas las inventas t? ;)
Y recuerden: siempre intenten ingeniarse c?mo resolver este tipo de problemas... en mi caso, part? haci?ndolo de la forma m?s principiante, menos eficiente pero m?s f?cil de entender con lo que sab?a, y luego fui haci?ndole mejoras... ahora la puedo hacer con puros c?digos, pero al comienzo eran puros objetos (no sab?a crear variables ni usar c?digos)
Y eso. espero que les sirva y que usen su ingenio para desarrollar mejores ideas tambi?n ;)
Chau. ?VIVA CHILE!
Edito: Falt? mencinar algo: debe haber un bot?n, o alguna forma de cambiar de arma... es decir, de elegir cu?l usar, cambiando la variable "arma".
Ejemplo: una acci?n para el evento "presionar boton para cambiar de arma"
Código [Seleccionar]
arma += 1; if (arma > 4) {arma = 0;} //para el caso en que hayan 5 armas, de la 0 hasta la 4.
Eso por ahora =)