Noticias

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

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: El Personaje se atora en la paredes al Saltar  (Leído 539 veces)

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

Desconectado T789

  • Habitual
  • *
  • Puntos: 84
  • Mensajes: 44
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
en: Agosto 18, 2019, 10:04:04 pm
Hace tiempo desde que comenze con el GM, he tenido un pequeño problema de la colision con las paredes, principalmente lo habia olvidado para enfocarme mas en aprender todas las funciones pero ahora se ha vuelto muy engorroso,
Pasa mas o menos al saltar en un trampolin, cuando caigo por las ezquinas de los bloques-paredes, este se queda trabado en ellas (solamente en las ezquinas) he intentado desde las mascaras y sprites hasta las acciones mas avanzadas y nada

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Zhekken

Respuesta #1 en: Agosto 19, 2019, 12:28:00 am
Mientras te dan una respuesta ve mirándote este vídeo, hace tiempo me paso lo mismo que a ti, el personaje se quedaba pegado en las paredes si dejaba pegada de la derecha o izquierda... pero con este vídeo, siguiendo su tutorial ese problema desapareció ya que hace bien las colisiones incluso en los saltos, así que quizá este vídeo te ayude... Buena suerte :D

https://www.youtube.com/watch?v=laq930_oewU

 


Desconectado T789

  • Habitual
  • *
  • Puntos: 84
  • Mensajes: 44
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
Respuesta #2 en: Agosto 19, 2019, 01:56:59 am
jejeje se debera a que su player no tiene animaciones y es solo un blocke, la verdad ya vi ese video

 


Desconectado 3dgeminis

Respuesta #3 en: Agosto 19, 2019, 02:12:30 am
Si ese es el caso has un sprite cuadrado o rectangular para que sea la mascara de colision.

 


Desconectado T789

  • Habitual
  • *
  • Puntos: 84
  • Mensajes: 44
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
Respuesta #4 en: Agosto 19, 2019, 11:51:16 pm
la verdad no crei que funcionase, aunque no se vea el mismo efecto igual gracias por la ayuda

 


Desconectado dixon

Respuesta #5 en: Agosto 21, 2019, 02:32:17 am
Hola, el problema es que tu sprite es preciso, quilate lo preciso al sprite.

 


Desconectado somnus

Respuesta #6 en: Agosto 22, 2019, 06:15:00 pm
aqui una explicacion al respect de lo que me parece puede estar pasando:

en GMS2 es muy importante que todos los frames o animaciones tengan una mascara la cual sea la misma para todo, esto es lo ideal, ya que si los diferentes sprites tienen dferentes medidas estos pueden causar algunos comportamientos indebidos, ademas estas mascaras de collision Deben de ser en multiplos de 2, 8x8, 16x16, 32x32, etc, aunque se pueden usar otras medidas.

por otro lado, lo que sucede cuando un sprite se queda atorado en las esquinas o alguna parte del fondo, lo que realmente esta pasando es que las colisiones en el eje X e Y estan siendo ejecutadas cada una en frames diferentes, lo que se tiene que hacer es checar ambas colisiones en estos 2 ejes en el mismo step, lo que hacemos es que si empujamos el personaje a la derecha y chocamos con la pared, cuando sucesa esa collision devolvemos el sprite a la izquierda el mismo valor que avanzamos, dando la imagen de el que sprite queda detenido en la pared, esto me ha pasado varias veces con una libreria de juegos que hice en JAVA, en la parte de scripts hay un script para crear juegos de plataformas que viene de un tutorial del Shaun Spalding, en ese codigo cada vez que colisionamos con una pared, devolvemos el valor de la velocidad avanzada ( ya sea arriba, abajo, izquierda o derecha ), para que el jugador no siga hacienda la collision y el personaje no se atore, sin embargo, si las mascaras de collision en ese ejemplo no es la misma para todas las animaciones se va a seguir atascando en algunas partes, se los digo porque tarde como 1 mes en darme cuenta que usando ese script tenia ese error con las mascaras de collision.



perdon por los horrors de ortografia, tengo un autocorrector que me pone mal todo el texto.

Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala
 


Desconectado T789

  • Habitual
  • *
  • Puntos: 84
  • Mensajes: 44
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
Respuesta #7 en: Agosto 22, 2019, 08:23:52 pm
si ya he tenido el mismo problema en los puntos de anclaje "y x" antes le sucedia al momento de saltar y cambiar los sprites al salto, se ponian 32 pixeles fuera de la posicion del player, la verdad aun me confundo un poco con las mascaras de colision

 


Desconectado Goganpis

Respuesta #8 en: Agosto 22, 2019, 11:58:21 pm
Creo que ahora estas liado con los origenes de los sprites... Una mask tambien es como un sprite dibujado

Coloca esto en el evento draw del personaje para que notes lo que ocurre
Código: [Seleccionar]
draw_self();
draw_sprite(mask_index,0,x,y);

Debes de tener en cuenta de que la mask de colision se altera de la misma forma que un sprite.