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: [SOLUCIONADO] Problema con plataformas giratorias  (Leído 826 veces)

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

Desconectado cristopher2545

en: Mayo 22, 2019, 04:55:27 am
hola a todos! Después de trabajar y estar viendo y practicando logre hacer que funcionaran como la seda! agradezco a todos los que me dieron un empujón <3 dejo la solución por si a alguien quiere implementarlas! es pixel perfect y funciona muy suave !

puedes crear cuantas plataformas quieras y si les das un angulo diferente en el código deegree todas giraran en los juegos tipo mario  :)

create
Código: [Seleccionar]
degree = 0;  // The degree you want it to start at.
orginX = x;  // The center of your circle, x coord.
orginY = y;  // The center of your circle, y coord.
rad = 100;  // The radius of your circle.
spd=1
origin=0 // recuerda el ultimo punto en x donde el jugador piso

step
Código: [Seleccionar]

if Angle>=360 {Angle-=360}

Angle += Speed;


origin= obj_player.x - xprevious // esta siempre buscando la x del jugador




// Update position

y = lengthdir_y(Orbit, Angle) + Center_Y;
x = lengthdir_x(Orbit, Angle) + Center_X



if place_meeting(x,y-12,obj_player)
{
if obj_player.force_jump=false
{
obj_player.y = lengthdir_y(Orbit, Angle) + Center_Y
obj_player.x = lengthdir_x(Orbit, Angle) + Center_X + origin // si estas tocando la plataforma el x se congela en el punto exacto que registro el código origin
}

}


« última modificación: Mayo 27, 2019, 09:13:45 am por cristopher2545 »

Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado artmaker

Respuesta #1 en: Mayo 22, 2019, 06:26:23 am
Saludos!!

una consulta el segundo código en que objeto lo tienes?.
He probado el siguiente código con una plataforma que se mueve  hacia arriba:

evento step de la plataforma:
Código: [Seleccionar]
if place_meeting(x,y-4,obj_player){obj_player.y-=1}
y-=1;
 

el código verifica si  el jugador se encuentra arriba , y si lo esta mueve al jugador 1 pixel hacia arriba en cada momento.
y como la plataforma también se mueve a la misma velocidad.

por el momento no me ha dado errores, lo he probado en todas las direcciones,puedes intentar implementarlo en tu código  para ver si funciona!   

 
Los siguientes usuarios dieron las gracias a este tema: cristopher2545


Desconectado cristopher2545

Respuesta #2 en: Mayo 22, 2019, 08:58:26 am
gracias por la pronta respuesta <3 el codigo funciona pero des-afortunadamente siguen los mismos errores antes mencionados, la plataforma se niega a mantener al jugador sobre y en su radio de giro pero agradezco el esfuerzo :)

Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!
 


Desconectado artmaker

Respuesta #3 en: Mayo 22, 2019, 09:25:39 pm
no hay de que!, intente usar el código que colocaste para probar, solo logré que se sostuviera en el eje Y colocando en el jugador

event step del jugador:
Código: [Seleccionar]
if place_meeting(x,y+5,obj_bloque_movible1){

y = obj_bloque_movible1.y-13
 
}

coloqué y-13 porque es el tamaño de la mascara de sprite que ocupo en mi juego.
Esperemos si alguien mas pueda ayudarnos!


Desconectado cristopher2545

Respuesta #4 en: Mayo 23, 2019, 06:58:44 am
hehe gracias <3 esperemos que si , me gustaría poder implementarlas <3

Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!
 


Desconectado cristopher2545

Respuesta #5 en: Mayo 25, 2019, 10:47:46 am
logre hacer que funcione en el angulo Y pero el X se niega a quedarse quieto el personaje no sigue la trayectoria del circulo y estoy llorando jaja

por si alguien le sirve algo a medias solo hay que agregar esto en el step

Código: [Seleccionar]
if place_meeting(x,y-12,obj_player)
{
obj_player.y = lengthdir_y(Orbit, Angle) + Center_Y
}

Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!
 


Desconectado NiuWeb

  • Flota de Justicia Particular.
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 2825
  • Mensajes: 1.697
  • Agradecido: 141 veces
  • Sexo: Masculino
  • Rock anthem for saving the world.
    • Ver Perfil
Respuesta #6 en: Mayo 25, 2019, 08:25:01 pm
¿Cómo es el código de movimiento del personaje?

El tiempo era tu aliado, humano, pero te ha abandonado.
Los Forerunners han regresado, esta tumba ahora es tuya.

-Ur-Didacta.


BA:STFW&RTFM
 


Desconectado cristopher2545

Respuesta #7 en: Mayo 27, 2019, 02:44:20 am
hola! es el mismo que usa shaun spalding no tiene ninguna modificación en especial

Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!