Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: roy_focker en Octubre 11, 2021, 03:28:58 AM

Título: necesito ayuda!!
Publicado por: roy_focker en Octubre 11, 2021, 03:28:58 AM
Hola, queria pedir su ayuda ya que me trabe en una parte, tengo un personaje principal que cuando presiona la tecla E agarra un arma, hasta ahi todo bien logre que dispare y todo pero tengo el inconveniente de que el arma se mueve y no mantiene la posicion que le di por que no puede seguir a la misma velocidad al personaje principal, por mas que le ponga la velocidad 100mil veces superior vuelve a su posicion cuando freno, la idea es que se mantenga siempre en la misma posicion, bueno eso es todo al que me de una mano con esto le estare agradecido





if object_exists(obj_player){
if activar = true

{


if balas >= 1{
if mouse_check_button(mb_left)
                                                  {
                                                  alarm[0]=1.49;
                                                  }   
}
if balas =0{
}
                                                 
                                             
                                                 
                                                  friction= false;
x=obj_alma.x;
y=obj_alma.y;
speed=100000000000;                                                 

}


if balas =0{
}

else {speed = 0;}




(el obj_alma no es el arma puse asi para que cuando el personaje principal muera los enemigos esten mirando ese objeto, el obj_alma si esta pegado al obj_player )
Título: Re: necesito ayuda!!
Publicado por: Alemar5 en Octubre 11, 2021, 04:06:13 AM
Que onda amigo! Hace tiempo me pasó un problema similar, la solución que le encontré fue poner los códigos de las coordenadas x, y en un end step, eso hizo más preciso el movimiento, intenta con eso y me cuentas, un saludo! :3
Título: Re: necesito ayuda!!
Publicado por: roy_focker en Octubre 11, 2021, 07:21:49 AM
Hola, ahi probe eso pero aunque lo haga me sale el mismo error que en step,igualmente gracias por la respuesta para asi ir descartando
Título: Re: necesito ayuda!!
Publicado por: Alemar5 en Octubre 11, 2021, 05:01:27 PM
hmm, ya veo..
mira, pienso que la variable speed esta de mas en este código, has probado no usar speed?
Título: Re: necesito ayuda!!
Publicado por: roy_focker en Octubre 11, 2021, 05:17:45 PM
Fue lo primero que hice, solo la agregue despues pero el resultado es el mismo
Título: Re: necesito ayuda!!
Publicado por: AlexWood en Octubre 12, 2021, 02:57:36 AM
Prueba poniendo el código en los 3 eventos steps
Título: Re: necesito ayuda!!
Publicado por: Jeffrey Faper en Octubre 18, 2021, 08:33:08 PM
a mi me pasaba algo parecido con la hitbox de mi personaje esta  lo seguía pero un poco atrasada a la posición indicada
mi solución fue re-posicionar los objetos en la carpeta objects ya que primero había creado el objetoHitbox y después al objetoJugador
cambiando el orden osea el jugador al inicio y después todo lo demás , fue como se soluciono el problema supongo que sera un bug de Game Maker
o literalmente hay que posicionar los objetos  en cierto orden 

Título: Re: necesito ayuda!!
Publicado por: knd144 en Octubre 19, 2021, 11:25:53 PM
Bueno, el código está complicado de leer  :-[ Tampoco entiendo cuál es el objetivo que quieres conseguir, pero de momento veo que según tu código el arma sólo sigue al jugador si la variable "activar" está en "true" ¿Es así?
Título: Re: necesito ayuda!!
Publicado por: roy_focker en Octubre 24, 2021, 07:32:42 AM
Cita de: knd144 en Octubre 19, 2021, 11:25:53 PM
Bueno, el código está complicado de leer  :-[ Tampoco entiendo cuál es el objetivo que quieres conseguir, pero de momento veo que según tu código el arma sólo sigue al jugador si la variable "activar" está en "true" ¿Es así?

si esa esa linea de codigos pertenece al arma, que se activa cuando el objeto player se posiciona sobre el arma y se presiona la letra E y se activa, el problema es que tiene como un pequeño delay el arma cuando se mueve el player(no importa la velocidad que se le de al objeto arma o si no se le da una velocidad, siempre tiene ese delay para posicionarse )
Título: Re: necesito ayuda!!
Publicado por: roy_focker en Octubre 24, 2021, 07:37:27 AM
Cita de: Jeffrey Faper en Octubre 18, 2021, 08:33:08 PM
a mi me pasaba algo parecido con la hitbox de mi personaje esta  lo seguía pero un poco atrasada a la posición indicada
mi solución fue re-posicionar los objetos en la carpeta objects ya que primero había creado el objetoHitbox y después al objetoJugador
cambiando el orden osea el jugador al inicio y después todo lo demás , fue como se soluciono el problema supongo que sera un bug de Game Maker
o literalmente hay que posicionar los objetos  en cierto orden


bueno en mi caso siempre creo el objeto player al principio y los mantengo ordenados en carpetas y el orden lo posiciona al player como prioritario, pero creo que esa posicion  debe ser de lectura al inicio no creo que de prioridad, aun asi voy a probar y despues te digo(aunque a la inversa en este caso)
Título: Re: necesito ayuda!!
Publicado por: roy_focker en Octubre 24, 2021, 08:36:50 AM
Cita de: roy_focker en Octubre 24, 2021, 07:37:27 AM

bueno en mi caso siempre creo el objeto player al principio y los mantengo ordenados en carpetas y el orden lo posiciona al player como prioritario, pero creo que esa posicion  debe ser de lectura al inicio no creo que de prioridad, aun asi voy a probar y despues te digo(aunque a la inversa en este caso)

probe lo que dijiste(cambiando la escala de prioridades) pero el resultado es el mismo, aun asi gracias, me sirve para ir descartando distintas alternativas.
Título: Re: necesito ayuda!!
Publicado por: Jeffrey Faper en Octubre 25, 2021, 07:40:10 PM
Cita de: roy_focker en Octubre 24, 2021, 08:36:50 AM
probe lo que dijiste(cambiando la escala de prioridades) pero el resultado es el mismo, aun asi gracias, me sirve para ir descartando distintas alternativas.

sabia que no funcionaria es que yo uso Game Maker Studio, parece que el problema esta en su codigo ya que anclar la posición de un objeto a otro es muy sencillo
a intentado poner su código de esta manera
[gml]
if object_exists(obj_player){
if activar = true
{
    x=obj_alma.x;
    y=obj_alma.y
   //Y DESPUES LO QUE SIGUE
[/gml]
otra solucion es que use items de powerUp estos contendrán el tipo de arma y munición  que el jugador obtendrá
al colisionar y presionar E  creara el arma en la posición deseada  el item de  powerUp se destruirá
de esa manera no tendrá que verificar si el arma esta activa, yo creo que esa parte del código es la causa de su problema

Título: Re: necesito ayuda!!
Publicado por: knd144 en Octubre 28, 2021, 11:06:11 PM
Es raro que haya ese delay, la verdad.

¿Y si lo intentas "al revés"? O sea, que sea en el evento del step del jugador donde se indique las coordenadas del objeto.

prácticamente puedes usar el mismo código si usas la sentencia "with":

[gml]
with(obj_arma)
{
    x = obj_alma.x; //Recuerda que dentro de la sentencia with, juegas con el scope del objeto con el que interactúas
    y = obj_alma.y;
}
[/gml]

O directamente agregas nuevo código sin usar la sentencia with

[gml]
if(instance_exists(obj_arma))
{
    obj_arma.x = x;
    obj_arma.y = y;
}
[/gml]


Yo intentaría algo así, poniéndolo en el "end_step" del jugador.  :-[ Ya dados a buscar parches...