Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Hola me podrian ayudar (Resuelto)  (Leído 365 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado XxBL100xX

en: Enero 06, 2020, 01:32:09 am
Hola les comento rapido como ya habia dicho antes estoy haciendo un fangame de megaman ya tengo el movimiento base y todos los sprites recortados pero el problema es como hago la carga del X buster osea como puedo hacer el efecto de carga del disparo y de cuando este esa carga si suelto el boton dispare otro tipo de disparo?
no se si me explico pero en resumidas cuentas lo necesito en codigo los videos que vi en youtube sobre el tema estan en ingles y necesito copiar todo su codigo base de ellos para hacer el disparo o la carga
Si me podrias dar un consejo o la idea de como hacer la carga te lo agradeceria mucho gracias por leerlo bonito dia :)

Gracias por darme las ideas genere un codigo de carga similar que se acopla a lo que necesito pronto publicare la version 0.02
« última modificación: Enero 15, 2020, 02:10:21 am por XxBL100xX »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado BssString

Respuesta #1 en: Enero 14, 2020, 03:29:30 am
Hola XxBL100xX

Nunca he jugado Megaman, pero por lo que entedí de lo que escribiste, quieres que al soltar rápido el botón haga un disparo simple y al manterner pulsado y luego solar, entonces haga un disparo fuerte.

Para eso mi sugerencia es que uses una variable para medir durante cuánto tiempo has pulsado el botón, y que al soltar el botón, en base al tiempo, haga un disparo u otro.

Una forma sencilla de lograr esto sería hacer lo siguiente:
En el Create Event declaras la variable
Código: [Seleccionar]
carga = 0
En el Step Event, cargas y luego disparas.
Código: [Seleccionar]
if keyboard_check(vk_space) { carga = min(room_speed,carga+1) } //Esto cargará el disparo mientras mantienes pulsado la tecla espacio (hasta un máximo de 1 segundo)
if keyboard_check_released(vk_space) { //Esto ocurre al soltar el botón
if carga = room_speed { creas el disparo poderoso } //Si cargaste al máximo, hace el disparo poderoso
else { creas el disparo normal } //Si no cargaste el máximo, entonces hace un disparo normal.
carga = 0 //Resetea la variable carga para que empiece a cargar desde 0 para cuando quieras disparar otra vez.
}

Eso es en términos generales, ahí tu adapta el código a como mejor te parezca y como mejor se adapte a tu proyecto.
Lo que hace el código de arriba es que al mantener pulsado espacio, por cada STEP que pasa te sube la variable carga en 1.
Usé la variable "room_speed" que mide la cantidad de STEPS que hay en 1 segundo, por defecto es 30.
Eso quiere decir que si mantienes pulsado espacio por 30 STEPS (1 segundo) hace el disparo fuerte.
Si lo sueltas antes, hace el disparo normal.
Al hacer el disparo debes resetear la variable carga a cero de nuevo para que al volver a disparar, te vuelva a contar el tiempo desde cero.

Puedes complementar el Script anterior con un draw event para dibujar una barra de carga o modificar la pose del jugador o el color de la pistola, así el jugador recibe información visual de si ya se cargó lo suficiente para hacer el disparo poderoso o el disparo simple.

Si quieres más o menos tiempo, modifica el valor de "room_speed" por el número que quieras para modificar el tiempo de carga.

Saludos
« última modificación: Enero 14, 2020, 03:33:58 am por BssString »

 
Los siguientes usuarios dieron las gracias a este tema: XxBL100xX


Desconectado Fabriyin

Respuesta #2 en: Enero 14, 2020, 04:34:57 am
No sé muy bien como se podría hacer pero te recomendaría que no solo copies y pegues el código que te den , entiende más o menos como funciona pues si hay algún error con algo y viene de ese código no sabrás muy bien como solucionarlo  ;)

Atentamente: (y con cariño)

Fabricio Franco Francisco Frank Rodrigo Alejandro Alex Cirilo Oliver Oliva López
 
Los siguientes usuarios dieron las gracias a este tema: XxBL100xX