Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

* Sponsor

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: necesito ayuda!!  (Leído 1323 veces)

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

Desconectado roy_focker

  • Habitual
  • *
  • Puntos: 26
  • Mensajes: 14
    • Ver Perfil
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 )
« Última modificación: Octubre 11, 2021, 03:38:22 am por roy_focker »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Alemar5

Respuesta #1 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

 
Los siguientes usuarios dieron las gracias a este tema: roy_focker


Desconectado roy_focker

  • Habitual
  • *
  • Puntos: 26
  • Mensajes: 14
    • Ver Perfil
Respuesta #2 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

 


Desconectado Alemar5

Respuesta #3 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?

 
Los siguientes usuarios dieron las gracias a este tema: roy_focker


Desconectado roy_focker

  • Habitual
  • *
  • Puntos: 26
  • Mensajes: 14
    • Ver Perfil
Respuesta #4 en: Octubre 11, 2021, 05:17:45 pm
Fue lo primero que hice, solo la agregue despues pero el resultado es el mismo

 


Desconectado AlexWood

Respuesta #5 en: Octubre 12, 2021, 02:57:36 am
Prueba poniendo el código en los 3 eventos steps

 
Los siguientes usuarios dieron las gracias a este tema: roy_focker


Desconectado Jeffrey Faper

Respuesta #6 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 

« Última modificación: Octubre 18, 2021, 09:07:31 pm por Jeffrey Faper »

 
Los siguientes usuarios dieron las gracias a este tema: roy_focker


Desconectado knd144

  • Okupa
  • *
  • Puntos: 222
  • Mensajes: 534
  • Agradecido: 5 veces
  • Sexo: Masculino
  • Nunca pienso en el futuro, llega demasiado pronto.
    • Ver Perfil
    • Rincon knd144
Respuesta #7 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í?


Desconectado roy_focker

  • Habitual
  • *
  • Puntos: 26
  • Mensajes: 14
    • Ver Perfil
Respuesta #8 en: Octubre 24, 2021, 07:32:42 am
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 )

 


Desconectado roy_focker

  • Habitual
  • *
  • Puntos: 26
  • Mensajes: 14
    • Ver Perfil
Respuesta #9 en: Octubre 24, 2021, 07:37:27 am
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)

 


Desconectado roy_focker

  • Habitual
  • *
  • Puntos: 26
  • Mensajes: 14
    • Ver Perfil
Respuesta #10 en: Octubre 24, 2021, 08:36:50 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.

 


Desconectado Jeffrey Faper

Respuesta #11 en: Octubre 25, 2021, 07:40:10 pm
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
if object_exists(obj_player){
if activar = true
{
    x=obj_alma.x;
    y=obj_alma.y
   //Y DESPUES LO QUE SIGUE
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


 
Los siguientes usuarios dieron las gracias a este tema: roy_focker


Desconectado knd144

  • Okupa
  • *
  • Puntos: 222
  • Mensajes: 534
  • Agradecido: 5 veces
  • Sexo: Masculino
  • Nunca pienso en el futuro, llega demasiado pronto.
    • Ver Perfil
    • Rincon knd144
Respuesta #12 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":

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;
}

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

if(instance_exists(obj_arma))
{
    obj_arma.x = x;
    obj_arma.y = y;
}


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

 
Los siguientes usuarios dieron las gracias a este tema: roy_focker


 


Warning: Parameter 1 to spoiler_buffer() expected to be a reference, value given in Unknown on line 0

Warning: Parameter 1 to custom_report_ob() expected to be a reference, value given in Unknown on line 0