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: Empujar bloques como en Zelda  (Leído 405 veces)

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

Desconectado vidal M

  • Visitante
  • *
  • Puntos: 15
  • Mensajes: 9
    • Ver Perfil
en: Agosto 17, 2019, 05:58:42 pm
Buen día

Espero me puedan ayudar con mi problema.

 Necesito mover blocks como en zelda pero que cuando mi personaje colisione con el bloque el bloque se mueva cada 32 pixeles y no ala velocidad a la que  se mueve mi  personaje.

agradecería mucho su ayuda.

este es mi codigo en un script


if (place_meeting(x+vx,y,obj_block_rock_2)){
   var block = instance_place(x+vx,y,obj_block_rock_2);
   with (block) {
      script_move(obj_player.vx/4,0);
   }
   vx /= 4;
   
}


if (place_meeting(x,y+vy,obj_block_rock_2)){
   var block = instance_place(x,y+vy,obj_block_rock_2);
   with (block) {
      script_move(0,obj_player.vy/4);
   }
   vy /= 4;
      
}


 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Zhekken

Respuesta #1 en: Agosto 17, 2019, 10:35:50 pm
Hola, buenas  :D soy nuevo en esto de Game Maker así que solo podría ayudarte con este vídeo que conseguí hace unos días, en su vídeo el explica como mueve su caja de izquierda a derecha solo si presionas una tecla y dependiendo desde donde empuja la caja, el personaje cambiara el sprite , la verdad es que no se si con esto te ayude pero si lo logras usar en tu código, supongo que quedaría bien, aunque la parte de la gravedad ignórala si tu juego es Rpg si no la caja se iría hacia abajo... y te faltaría agregar el movimiento de abajo y arriba de la caja.

Para mi que es un tutorial muy completo, te lo recomiendo, aunque la verdad espero que te sirva en la versión de GM que uses, buena suerte :)

solo espero si se puedan pasar vídeos  :(

PD: Edito porque olvide pasar el enlace xD

Acá esta:

https://www.youtube.com/watch?v=8Uor0-bUJWE

« última modificación: Agosto 17, 2019, 10:55:47 pm por Zhekken »

 
Los siguientes usuarios dieron las gracias a este tema: vidal M


Desconectado 3dgeminis

Respuesta #2 en: Agosto 19, 2019, 02:09:15 am
Supongo que quieres "patear" el bloque. Lo que puedes hacer es guardar la posicion actual del bloque y la posicion final, a donde tendria que estar.
Si movemos el bloque hacia la derecha y la posicion inicial es 0, la posicion final seria 32. Si la posicion inicial es diferente a la final, lo movemos, si es igual lo detenemos(la velocidad tiene que ser multiplo de la distancia a recorrer)
Ejemplo empujar a la derecha:
///CREATE////////////////////////////////////////////////////////////
mover=false
x1=x
x2=x

///STEP//////////////////////////////////////////////////////////////
if (keyboard_check_pressed(vk_enter) and mover=false)
  {
   x2=x1+32
   mover=true
  }
 
if mover=true
  {
   if x1!=x2
      {
       x1+=4
       x=x1
      }
   else {mover=false}
  }

 
Los siguientes usuarios dieron las gracias a este tema: vidal M


Desconectado vidal M

  • Visitante
  • *
  • Puntos: 15
  • Mensajes: 9
    • Ver Perfil
Respuesta #3 en: Agosto 19, 2019, 04:21:17 pm
Muchas gracias a  ambos mi juego es tipo RPG realizare las 2 sugerencias que me ofrecieron muchas gracias otra vez.

Saludos!!

 


Desconectado jhgv

  • Visitante
  • *
  • Puntos: 18
  • Mensajes: 9
  • Sexo: Masculino
    • Ver Perfil
Respuesta #4 en: Agosto 29, 2019, 09:54:44 pm
Hola, Pues quizas apenas estes empezando en Gml entonces te ayudare sin usar palabras muy tecnicas ni en codigo te dare una idea y como deberia estar estructurado:
si el personaje colisiona con la caja entonces comprobaras hacia que lado va el personaje y asi le dices a la caja a que lado debe ir y hacia que velocidad... luego compruebas si el personaje dejo de colisionar y entonces haces que la caja deje de moverse :p saludos