Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - MateG_

1
Buenas! Por lo que veo la variable que activa/desactiva el dibujado del cuadro de texto es global.objeto, que tiene que ser igual a 2 para que el mensaje aparezca. No estoy seguro de haber entendido bien tu código pero creo que el principal problema es que pusiste la línea que desactiva el evento draw (if keyboard_check_pressed(ord("A")) and global.objeto = 2 {global.objeto = 0};) en el evento create, por lo que solo podrías quitar el texto en el instante en el que el objeto del evento de la montaña se crea. Si es así entonces lo que te recomendaría sería el mover esa línea código a un evento step o incluso al propio evento draw en el que dibujás el texto.

Si esa línea de código tiene otra utilidad entonces el problema sería el mismo, que falta regresar la variable global.objeto a 0 una vez que el evento de la montaña termine. (Al menos que lo hagas en ese Alarm[0], en ese caso me faltaría más información para poder ayudarte).

Espero que te haya servido! Saludos! 
2
   Hola, no estoy seguro de de qué forma estás estableciendo tus estados y el movimiento. Sin embargo encontré un video de Friendly Cosmonaut que lo explica bastante bien, además de que replica a un enemigo básico de un RPG, espero que te sirva.

   Acá el link: https://youtu.be/DYkJ91eg67Y
3
Preguntas y respuestas / Re:Rotar el juego
Julio 28, 2018, 06:54:48 AM
Muchas gracias a los dos! Ya lo pude solucionar usando de basándome en el código que adjuntaste. Había pensado en la idea de crear ejes "falsos" pero estaba muy perdido en el tema. En cuanto a las colisiones las pude programar correctamente. Muchas gracias de vuelta!

Saludos.  :)
4
Preguntas y respuestas / Rotar el juego
Julio 24, 2018, 08:46:45 PM
   Lamento no tener un título más claro sobre mi duda, la cual es: ¿Cómo podría rotar los elementos de mi juego?

   Se me ocurrió la idea de crear un plataformero cuya mecánica principal sea la de rotar las views, afectando asi a la dirección de la gravedad y al movimiento del jugador. En cuanto a girar las views pude hacerlo con la variable view_angle, sin embargo, a la hora de mover al jugador es cuando se me complica, pues aunque en conjunto con la view rote al jugador sus ejes no giran. Así si, por ejemplo, el angulo de la view fuese de 90° el eje x del jugador sería (visualmente) el y y visceversa.

   Según pienso no ha de ser algo facil de hacer, pero si alguien tiene una idea, video o algo que crea que pueda ayudarme lo agradecería. Espero también haberme expresado bien, un saludo y gracias.  :)
5
   Buenas gente! Como el título dice, me gustaría saber como hacer que un objecto mantenga cierta distancia con el jugador y que a la vez siga la dirección del cursor, en lo que se podría considera una órbita. Esto surge en base a una mecánica que quiero colocar en mi juego, que es la de que el jugador pueda agarrar distintos tipos de bloques con características diferentes, algo similar a lo que se ve en Portal o en Qube, para solucionar puzzles, solo que en 2d. La cuestión de que el bloque mantenga distancia del jugador y que si este se mueve el otro lo siga suavemente dando un efecto de levitación lo hago con este código:


numVX = ((objPlayer.x+16)-x) / 2;
numVY = (objPlayer.y-y) / 2;


   Sin embargo a la hora de hacer que se siga la dirección del mouse no se me ocurre como hacerlo. Si a alguien se sabe alguna forma de llevarlo a cabo lo agradecería mucho. Desde ya muchas gracias.  :)
6
   El -y hace que mientras más para abajo de la room esté la instancia, menos profundidad va a tener, por lo que las cosas se van a ver con la perspectiva que querés.
7
   Buenas, eso debe ocurrir porque en todas las instancias del mismo objeto la depth es la misma, para cambiar eso podrías poner en el evento create "depth = -y", que va a hacer que mientras más abajo esté el objeto menos profunda va a estar la instancia. Espero que te sirva.
8
   Buenas a todos! Hoy tengo una duda con respecto a la animación de mi objeto jugador, la cual es: ¿Cómo puedo hacer que cada vez que cambie de sprite (caminando, quiero, saltando...) comience en el primer frame?

   Esta duda viene a que si lo único que pongo en el código es el cambio este se produce en el sprite mas no en la image_index. Si alguien tiene alguna idea de como se puede hacer esto se lo agradecería mucho, desde ya muchas gracias  ;).

Código:


if ground and move = 0
{
    sprite_index = sprJugadorQ
}
else if ground and move != 0
{
    sprite_index = sprJugadorC
}
else if !ground
{
    sprite_index = sprJugadorS
   
    if vsp < 0
    {
        image_index = 0
    }
    else if vsp = 0
    {
        image_index = 1
    }
    else if vsp > 0
    {
        image_index = 2
    }
}
9
   Buenas, como en el título dice tengo un problema al dibujar números en el evento Draw. Lo que quiero dibujar es una alarma, la cual dura 900 steps, que por la velocidad de mis rooms serían 30 segundos, pero cuando quiero dibujar eso mismo (floor(alarm[0]/30)) no da el resultado real, si no que sigue una secuencia algo así: 3 39 38 37 ... 2 29 27 27 ... 1 9 8 7 6 5 4 3 2 1 y ahí termina, la verdad que no se a que se debe, el floor es para que no se escriban los decimales, pero dudo que eso tenga algo que ver. Desde ya muchas gracias.

EDIT:

   Estoy usando una fuente personalizada, cuando lo pruebo con la predeterminada no hay problemas.
10
Preguntas y respuestas / Re:Cajas de texto
Enero 20, 2018, 03:19:57 AM
Lo que deberías hacer es agregarle esto:


if text = ("perro") and keyboard_check_pressed("vk_enter") 
{   
    room_goto(room03)       
}


11
Me alegra que te haya servido. En cuando la animación de salto si esta posee la subida y la bajada del mismo lo que podrías hacer es que la animación fluya normalmente y que cuando llegue a su ultimo fotograma se mantenga en el mismo hasta que toque el suelo y cambie de sprite a otro según ya lo tengas armado.

Para hacer eso lo que deberías hacer es crear un evento "Animation End" en Other y escribir lo siguiente:


if sprite_index = sprite_Jum1
{
image_index = (el número del ultimo fotograma)
}
12
Buenas, 2.5 de image_speed es más alto que el 2 que pusiste antes. El problema es mientras más grande sea el número de la image_speed más rápido pasarán los fotogramas de la animación, ya que lo que hace la variable es ver cuantos fotogramas se deben pasar en un segundo multiplicandose por la velocidad de la habitación, que se puede cambiar en la sección settings de la room. Si lo que querés es que se vea más lenta la animación te recomiendo probar con números menores a 1 o 1 como máximo, por ejemplo 0.5, con el que si la velocidad de la room es 30 como predeterminado los fotogramas que van a verse en un segundo serán 15. Espero que te sirva.  ;)
13
Preguntas y respuestas / Re:Juego tipo Luftrausers
Enero 12, 2018, 05:49:23 PM
Buenas, si el problema que tenés es que el avión no pierde velocidad podrías probar este código:


if keyboard_check (ord("W"))
{
direction=image_angle
if speed < 15
{
speed+=0.1
}
}
else
{
    if speed > 0
    {
    image_angle = direction
    if direction != 270
    {
        if direction < 90 or direction > 270
        {
            direction -= 5
        }
        else
        {
            direction += 5
        }
    }
    if speed > 7
    {
        speed-=0.1
    }   
    }
}

if keyboard_check (ord("D"))
{
image_angle-=4
}
if keyboard_check (ord("A"))
{
image_angle+=4
}


Lo que hace es que cuando no se está presionando la "W" la velocidad se reduzca hasta la mitad (no a 0 ya que sino el avión tampoco caería) y que la dirección se redirija hacia abajo, haciendo el efecto de caída libre. No se si es ese exacto el efecto que querías pero espero que te sirva. Buena suerte.  ;)
14
    Si en los otros casos el código te sirvió el único error que veo es que en el código de la animación del disparo en vez de poner:


if (shooting)
   {
      if (sprite_index != sprTaylorShoot) image_index = 0 //Indica que siempre se empezara esta animacion desde el principio
      sprite_index = sprTaylorShoot
      image_speed  = 0.5
   }


pusiste:


if (shooting)
   {
      if (image_index != sprTaylorShoot) image_index = 0 //Indica que siempre se empezara esta animacion desde el principio
      sprite_index = sprTaylorShoot
      image_speed  = 0.5
   }


    Solo eso, que en vez de image_index iría sprite_index. Espero que te sirva ;).
15
   Yo actualmente estoy en un proyecto al que le falta mucho para ser considerado como jugable, por lo que todavía no voy a subirlo al foro, sin embargo se me genera una duda: En la plantilla para presentar los juegos dice que es necesario enviar adjunta una demo del juego. Al grano, la consulta es ¿La demo debe ser del juego completo o puede ser de una versión sin finalizar (pero obviamente en condiciones, como una beta o menos)?

   Puede que la pregunta parezca algo ridícula, pero ahí me surgió y espero sus respuestas. Desde ya muchas gracias. ;)