Noticias

¡Ayuda a la Comunidad GM, haz una donación!

* Sponsor

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!.

Mensajes recientes

1
Juegos en desarrollo / Re: Pirate Alliance!
« Último mensaje por Marth en Ayer a las 06:36:03 pm »
He seguido arreglando el juego para hacer más cómodo jugar. Ahora al atacar, el circulo que indica el alcance del ataque del jugador cambia de color, lo que indica si tu barco está en modo moverse o apuntar.
Además, esta traducido al inglés.
2
Preguntas y respuestas / Re: variables locales en gamemaker studio 2
« Último mensaje por fedex2020 en Mayo 06, 2021, 09:50:00 pm »
muchas graciaaaaas
3
Preguntas y respuestas / Re: variables locales en gamemaker studio 2
« Último mensaje por Void en Mayo 06, 2021, 12:57:22 am »
La ventana para variables locales solo se llena mientras el juego esta pausado, puedes pausarlo manualmente con el botón de pausa en la barra superior de la pestaña Debugger, o colocando un punto de pausa en el código, lo que causara que el juego se pause automáticamente al ejecutar esa parte del código, el punto de pausa se puede agregar presionando la tecla F9 cuando tienes el cursor de texto en la línea en la que quieres agregar el punto de pausa, o haciendo click en el espacio antes del número de línea de una ventana de código.

Si quieres ver las variables en tiempo real puedes ir a la pestaña Instances, en la sección All Instances podrás ver una lista de instancias según su ID y el objeto al que pertenecen, al expandir un elemento podrás ver las variables que pertenecen a esa instancia.
4
Es relativamente simple, lo primero es, en el evento Create, determinar el punto de origen desde donde sale la granada y el punto final donde caerá la granada, y usar esos puntos para determinar la distancia y dirección en que la granada va a viajar, e inicializamos una variable z para la altura del vuelo de la granada:

Dest_x = mouse_x;
Dest_y = mouse_y;

Dist = point_distance(xstart,ystart,Dest_x,Dest_y);
Dir = point_direction(xstart,ystart,Dest_x,Dest_y);

z = 0;

Luego en cada paso movemos la instancia la cantidad apropiada y calculamos la altura que tendría la granada en ese paso:

Dist_Rem = point_distance(x,y,Dest_x,Dest_y)

x += lengthdir_x(min(Dist_Rem,8),Dir)
y += lengthdir_y(min(Dist_Rem,8),Dir)

z = sin((((Dist_Rem)/Dist))*pi)

El calculo de z es simple, tomamos la distancia que le falta a la granada por viajar y la dividimos entre la distancia total que debe viajar para normalizar el valor, tomamos dicho valor y lo multiplicamos por pi para poder aprovechar la parábola de la función matemática seno.

Ahora simplemente se dibuja manualmente el sprite del objeto, multiplicando z por el valor de la altura máxima que la granada puede alcanzar y restándole el resultado a al valor y. Recomendaría en lugar de usar un valor estático para la altura máxima usar un factor de la distancia total:

draw_sprite_ext(sprite_index,image_index,x,y-z*(Dist/3)

Dejo un ejemplo con el código:
5
Preguntas y respuestas / variables locales en gamemaker studio 2
« Último mensaje por fedex2020 en Mayo 05, 2021, 03:33:53 am »
Buenas noches comunidad, acabo de bajarme el gamemaker studio 2 y mi problema es el siguiente, al ejecutar un juego, en el depurador , activo el reloj en tiempo real para ver el comportamiento de las variables, y las globales, si se muestran abajo en la ventana de variables, pero las locales no me salen en pantalla, espero su ayuda desde ya muchas gracias...
6
Hola a todos, estoy haciendo un juego y necesito un movimiento parabólico, quiero que una granada   vaya a  un punto alto, con la distancia, y  recorra entre el punto del soldado y caiga  donde fue puesto el mouse para lanzar.  Pero no se hacerlo y por eso les estoy pidiendo ayuda  :'(

Como en el ejemplo del video de abajo :
https://photos.app.goo.gl/3rqAwf17PHWJ97Me9]
7
Juegos en desarrollo / Re: Golden Axe One
« Último mensaje por marcos_10 en Abril 29, 2021, 11:38:23 am »
Buenas aqui les dejo la primer beta del juego completo.
https://www.mediafire.com/file/4in35gjth7zsy7n/Golden-Axe-One_beta-0.7.08.zip/file
8
Preguntas y respuestas / Sitema Navmesh
« Último mensaje por El bananita en Abril 28, 2021, 03:16:01 am »
Necesito ayuda haciendo un sistema navmesh, no logro conseguirlo.
9
Preguntas y respuestas / Re: Checkeo en cada paso del con el speed
« Último mensaje por Clamud en Abril 27, 2021, 05:17:14 pm »
Te puedes mover pixel por pixel hasta que el objeto detecte colisión. Pero serían muchas iteraciones.
Para hacerlo más eficiente puedes revisar la colisión con una línea trazada entre el punto de partida y el punto meta.
Puedes estimar el punto de colisión de esta forma
https://yal.cc/gamemaker-collision-line-point/

También puedes hacer el movimiento en varios pasos. Comienza con pasos grandes y ve reduciendo la distancia hasta encontrar el punto de colisión. Similar a la técnica de búsqueda binaria.
https://es.wikipedia.org/wiki/Búsqueda_binaria
10
Preguntas y respuestas / Checkeo en cada paso del con el speed
« Último mensaje por Marcusmaniacus en Abril 26, 2021, 07:42:28 pm »
Tengo el problema con el speed  mi personaje se mueve a 400  de speed pero el problema es que  me gustaria que comprobara si ahi una pared entre el y el personaje....
ahora el problema es el siguiente, que como es un speed  avanza de 400 pixeles en 400   pero quiero ver como comprobar si adelante de  el axiste una pared para que se pare por decir en el pixel 250  (si teoricamente estubiera una pared a esa distancia)
if (Movimiento==true)
{
    Objetivo=instance_nearest(x,y,Obj_Persona)
    direction=point_direction(x,y,Objetivo.x,Objetivo.y)
    if(distance_to_object(Objetivo)<400)
    {
        speed=distance_to_object(Objetivo)
    }
    else
    {
        speed=400
    }
}
else
{
    speed=0
}