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 - Luis En

31
Buenas querida comunidad!!

Quiero que al poner el mouse encima de un objeto, éste cambie su sprite (así como dice en tooodo el título XD)
No sé cómo podría hacer para que se reconozca esa "colisión"(?) con el mouse, ya que con place_meeting solo se puede hacer con objetos no? y si no es así, ¿Cómo podría hacer para que reconozca que el mouse está sobre el objeto?

Espero me puedan ayudar!  :-X



32
Buenas querida comunidad!!

He tenido problemas con la surface. (la surface está en el Obj_player) No sé si será por el tamaño de mi room, pero cuando pongo al personaje en mi primera room, que mide 10240, todo me sale en blanco. El personaje se puede mover y todo, pero no se ve nada del fondo ni los objetos ni el personaje, todo queda blanco.

Pero cuando pongo al personaje en las dos siguientes rooms, que miden (6032 y 7411) todo funciona bien, no me sale en blanco todo.

El tamaño de la surface en el event create la puse del tamaño de la room, y creo que el problema se da por el tamaño de mi primera room, que mide 10240, pero si es así no sabría como hacer para que no se dibuje en toooda la room, sino en una parte nada más. Intenté con view_xview, pero me sale error, que es un tamaño invalido para la surface.

Aquí les dejo el código que tengo:

[gml]
//En Obj_player

//EVENT CREATE*

xx = 2
yy = 2

surf = surface_create(room_width,room_height)   //Variable de iluminación


surf_on = false        //Cuando se activará la surface que está en STEP

luz_on = false         //Cuando se activará la luz que seguirá al personaje

//EVENT STEP*

///Surface OSCURIDAD

if (surf_on = true)
    {
             
        //Negro
        surface_set_target(surf)        //Llamamos a la surface que está en la variable "surf" (Abrimos la surface)
        draw_sprite(Spr_Oscuridad,0,864,0)     //Dibujo de oscuridad
      if (luz_on = true)                //Si la luz está activada
            {                           //Se encenderá la luz
            //Luz
            draw_sprite_ext(Spr_luz,0,x,y,xx,yy,0,-1,1) //Dibujamos el sprite de la "luz", en la misma ubicación (punto de origen) del player, y estirada dos veces en "x" y "y". (El color de la luz será la misma del sprite (roja).
            draw_set_blend_mode(bm_normal)          //Ponemos esto para que no nos salga un efecto como en negativo.
            }
            surface_reset_target()          //Cerramos la surface
       
    }

//EVENT COLLISION* (Obj_Surface_on)

surf_on = true

with other instance_destroy()

//EVENT COLLISION* (Obj_Luz_on)

///Luz Activada

luz_on  = true

//EVENT COLLISION* (Obj_Luz_off)

///Luz Desactivada

luz_on  = false

//EVENT DRAW*

///Dibujare Surface

draw_self()

draw_surface(surf,0,0)
[/gml]

Estoy utilizando la surface para iluminar una parte oscura de la room (donde se dibuja el Spr_Oscuridad)

PD: A veces me ha salido error en Event Draw> draw_self() , no sé porque.

Espero me puedan ayudar!!! Ya casi termino el jueguito!!  :-X
33
Cita de: Luis En en Septiembre 04, 2018, 11:32:33 PM
Intenté probar en Event Destroy y tampoco funciona, es más, como que se reproduce solo una parte del sonido.

Así tengo los códigos:


//Obj_Vasija:

//Event CREATE:

///Variable

image_speed = 0                 
vasija_rota = 3         //Vida de Vasija (Con tres toques se le destruye)
golpe = false            //No es tocada

sonido_cajarota = false

//Event STEP:

if place_meeting(x-1,y,Obj_Player)       
    {
    if (golpe == false)
       {
       audio_play_sound(Snd_Golpe_Vasija,0,false)
        golpe = true
        vasija_rota -= 1
       alarm[0] = room_speed
       }                     
    }
    else
    {
    golpe = false
    }
   
if vasija_rota = 0
    {
    image_speed = 0.6
    audio_play_sound(Snd_Vasija_Romper,0,false)
    }
exit

//Event Alarm 0:

golpe = false

//Event Animated End:

instance_destroy()




No sucede el problema con el sonido del Golpe_Vasija, pero si con el sonido Vasija_Romper.

Ya lo solucioné! compañeros.

Lo que hice fue:

En vez de establecer la vida de la Vasija, con la variable: "vasija_rota". Utilice la función "lives" de game maker para establecer la vida de la Vasija. Entonces cambie: "vasija_rota" por "lives", y en Event Other>No more lives, puse que se reprodujera el sonido al cuando "lives" llegue a 0. No se si me explique bien, pero aquí el código que cambie:
[gml]

//Event STEP:

if place_meeting(x-1,y,Obj_Player)       
    {
    if (golpe == false)
       {
       audio_play_sound(Snd_Golpe_Vasija,0,false)
        golpe = true
        lives -= 1                                        //Se restará 1 de vida
       alarm[0] = room_speed
       }                     
    }
    else
    {
    golpe = false
    }
   
if lives = 0                                          //Si no le queda vida
    {
    image_speed = 0.6
    }

//Event Other> No more lives:           //Reproducir sonido de destrucción

audio_play_sound(Snd_Vasija_Romper,0,false)
[/gml]

34
Intenté probar en Event Destroy y tampoco funciona, es más, como que se reproduce solo una parte del sonido.

Así tengo los códigos:


//Obj_Vasija:

//Event CREATE:

///Variable

image_speed = 0                 
vasija_rota = 3         //Vida de Vasija (Con tres toques se le destruye)
golpe = false            //No es tocada


//Event STEP:

if place_meeting(x-1,y,Obj_Player)       
    {
    if (golpe == false)
       {
       audio_play_sound(Snd_Golpe_Vasija,0,false)
        golpe = true
        vasija_rota -= 1
       alarm[0] = room_speed
       }                     
    }
    else
    {
    golpe = false
    }
   
if vasija_rota = 0
    {
    image_speed = 0.6
    audio_play_sound(Snd_Vasija_Romper,0,false)
    }
exit

//Event Alarm 0:

golpe = false

//Event Animated End:

instance_destroy()




No sucede el problema con el sonido del Golpe_Vasija, pero si con el sonido Vasija_Romper.




35
Hola querida comunidad!
Quisiera que me ayuden con éste problemilla que se presento cuando quiero que se reproduzca un sonido al destruirse  una vasija.

Éste es el código:


//Event STEP

if caja_rota = 0
    {
    image_speed = 0.6
    audio_play_sound(Snd_Vasija_Romper,0,false)
    }


Lo que quiero hacer aquí, es que cuando la vida de la vasija llegue a 0, se reproduzca la animación de destrucción y a la vez el sonido de cuando se rompe.

Me funciona bien la animación, pero lo que no sale bien es el sonido de romperse. Ya que se reproduce muchas veces a la vez.

Será porque está en el event STEP? pero si ese es el problema, donde podría poner el código.

Espero me puedan ayudar!

36
Noticias / Re:La Ultima actualizacion de GM:S 1.4
Septiembre 04, 2018, 06:50:18 PM
Entonces se puede descargar el Standard gratis en Legacy Game Maker??  ???
37
Noticias / Re:La Ultima actualizacion de GM:S 1.4
Septiembre 04, 2018, 06:40:35 PM
Cita de: Johann en Septiembre 03, 2018, 03:00:55 AM
Cita de: Luis En en Septiembre 02, 2018, 06:51:18 PM
Entonces ya se puede descargar el 1.4 gratis? porque hace una semana fui a descargarlo en su página oficial y no se podía.  :-\

Principalmente es para quienes tienen una licencia, pero creo que la noticia original dice que en la seccion de Legacy va a estar disponible, imagino que solo en versión standard, eso habrá que revisarlo.

Ok, entonces ahora revisaré.
Gracias  8)
38
Noticias / Re:La Ultima actualizacion de GM:S 1.4
Septiembre 02, 2018, 06:51:18 PM
Entonces ya se puede descargar el 1.4 gratis? porque hace una semana fui a descargarlo en su página oficial y no se podía.  :-\
39
Entonces mx es una variable de Game Maker Studio?

Gracias por responder!
40
Sii! tienes razón, en la programación se pueden hacer las cosas de manera distinta, eso es lo genial.

Y ya encontré la solución, como dices, depende de cómo uno lo ha hecho, va a encontrar distintos errores y maneras de resolverlo!  XD

Gracias por responder compas!  :D
42
Cita de: 3dgeminis en Agosto 31, 2018, 07:18:56 AM
Yo lo haria asi:
[gml]
if keyboard_check(ord("D")) {mx=1} else
if keyboard_check(ord("A")) {mx=-1} else
{mx=0}

repeat(3)
  {
   if !place_meeting((x+mx), y, Obj_Caja) {x+=mx}
   
   if keyboard_check(ord("M"))
     {
      with(instance_place((x+mx), y, Obj_Caja)) {x+=other.mx}
     }
  }
[/gml]

Ok, ahora lo pruebo!
Y mx es una variable que debo de crear?

Gracias por responder!
43
Exacto! pero lo que pasa es que no se donde está el error, y por ello no sabría que código mostrarles  :-\

Alguna idea de donde podría estar el problema, a eso me refería. Si saben donde comúnmente ocurre el error

Gracias por responder!
44
Buenas, querida comunidad!
Quisiera que me ayuden con ésta duda, que me ha pasado muchas veces y aún no logro entender porque.

Pasa que el personaje al pisar un objeto que tenga configurado movimiento, se queda pegado, solo se reproduce la animación de caminar pero no avanza, y a veces salta y a veces no.

Por ejemplo:

1.Cuando hice que una caja se pueda mover, (aún no está bien hecha) el personaje al pisarla, se queda pegado y no avanza, y también cuando la caja choca con un sólido (como pared) el personaje se queda pegado a la caja si la está tocando al chocar esa pared. (La caja no es sólida)

2. Cuando el personaje está en una plataforma móvil (vertical) y ésta choca con el suelo por ejemplo, el personaje se queda pegado a la plataforma, y no avanza, como si al tocar el sólido (suelo) haga que la plataforma se comporte de manera distinta, que mi personaje se queda pegado. (Plataforma es hijo del suelo)

Y en todos estos casos pasa cuando el objeto donde se pega el personaje, tiene configurado un movimiento en particular.

Me podrían ayudar con éstas cuestiones que hasta ahora no logro entender. Espero me ayuden compañeros  :-X

Muchas gracias de antemano por leer  :-[
45
Holaaa querida comunidad!

Espero me puedan ayudar con esto que creo que es simple, pero yo no lo puedo descifrar XD.

Lo que quiero exactamente es que mi personaje pueda mover un objeto (caja) al presionar una tecla + las teclas de avanzar y retroceder.

He estado revisando anteriores temas que tratan de algo parecido, sin embargo, no he podido solucionarlo.

Mi personaje al acercarse a la caja, no la empuja. La caja se queda como un sólido más, pegada al suelo. Y cuando le quito la solidez, no me puedo parar encima de ella, y tampoco la empuja bien, solo da un pequeño salto hacia el lado donde empujo.

He probado estos métodos:

Primero esto:

En Event Step > Obj_Caja


if keyboard_check(ord("A")) && place_meeting(x+1,y,Obj_Player)
    {
     x -= 3   
    }

if keyboard_check(ord("D")) && place_meeting(x-1,y,Obj_Player)
    {
     x +=3 


y luego esto:

En Event Collision con Caja > Obj_Player


other.x+=x-xprevious
other.y+=y-yprevious


Y ninguno me ha funcionado, en los dos la caja se queda pegada en el suelo.

Espero me puedan ayudar.! ???