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
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
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
}
}
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:
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!
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 :)
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:
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!
hehe gracias <3 esperemos que si , me gustaría poder implementarlas <3
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
if place_meeting(x,y-12,obj_player)
{
obj_player.y = lengthdir_y(Orbit, Angle) + Center_Y
}
¿Cómo es el código de movimiento del personaje?
hola! es el mismo que usa shaun spalding no tiene ninguna modificación en especial