Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

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: agarrar un objeto  (Leído 465 veces)

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

Desconectado thej

  • Visitante
  • *
  • Puntos: 15
  • Mensajes: 3
  • Sexo: Masculino
    • Ver Perfil
en: Noviembre 11, 2019, 09:41:03 pm
hola
estoy haciendo un juego y quiero saber como hacer que un jugador agarre un objeto
el juego es un shooter top-down :GMS:

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado elviskelley

Respuesta #1 en: Noviembre 12, 2019, 11:19:43 am
LE colocas una variable al objecto que al collisionar con el jugador y estepresione no se que tecla la active, y se quede con el jugador a distancia x,y, tal y misma direccion. luego puedes colocar al mismo object que al soltar la tecla (realise) se desactiva la variable y puedes cambiar el estado. por dar un ejemplo de Mario Bros con las tortugas, estas estan inmoviles, Mario las coge y arroja, la tortuga tiene como 5 Estados.  (Viva, inconciente, cogida, liberada para atacar, y muerta)
Cada estado se activa con una variable y corresponde a un script que agregas para su ejecucion.
ejemplo la tortuga debe tener algo en su create como.
viva=false; //ya que sale viva y moviendose.
inconciente=false; //ya que queda solo en caparazon cuando mario le cae arriba.
cogida=false; //ya que queda cogida solo si mario la toma.
liberada=false; //ya que es un estado que se da si mario la tropiesa al estar inconciente o si la suelta.
muerta=false; //pues aqui solo es para cambiar al estado animacion de muerta y evitar se ejecute cualquier otro estado diferente.

Y para activarla debe tener algo asi.
if not viva  and distance_to_object(x,y,objMario) < (400)
{viva=true;}
//Esto activaria viva... y empesaria a moverse hacia Mario... Aunque me parece que Mario desactiva las instancia fuera de la view... PEro es solo un ejemplo.

El hecho es que al objecto le das una pequeña IA para que funcione bien. En tu caso podria ser Solo 2 Estados si fuera un arma, (cogida, liberada)

y tener algo asi....
En el event collision con player.
if not cogida and o_Player.keyboard_check_pressed(ord('X')) then
{cogida=true;}
//si la toca y presiona X activa cogida.

ahora en event X release/
if cogida
{cogida=false; liberada=true;}

//asi desactivas o no las variables.
ahora en event End step ya colocas lo que debe suceder. ejemplo;
if cogida then
{x=o_Player.x+16; y=o_Player.y; }
//si esta cogida se queda junto al player claro puedes sumar a x,y, para ajustarlo a su ubicacion exacta, como lo hice en X.
if liberada then
{
if place_free(x,y+1) then
{y+=1;} //Esto para que caiga al suelo y permanesca alli un tiempo
alarm[0]=5*room_speed; //activara la alarm 0 en 5 segundos.
liberada=false; //la desactivo xq ya no se necesita este activada
}

event alarm 0
if not cogida then
{instance_destroy();}
//si ya no la coges de nuevo se destruye, no se requiere mas, asi que para que tener ese recurso ocupado...

asi es con cada cosa, por minimo que sea debe tener una IA por chica que sea.

Atentamente.-
Elvis Kelley
Mi Manual.