Al momento de ejecutarse, la función devuelve la id de la instancia (que siempre será positiva) o noone (-4) en caso de no encontrar ninguna. De las dos formas funciona igual.
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.
301
Preguntas y respuestas / Re:Quiero crear la trampa aplaste [Solucionado]
Septiembre 15, 2017, 09:15:52 PM302
Preguntas y respuestas / Re:Puzzle de colisiones
Septiembre 15, 2017, 04:57:34 PM
Te dejo un ejemplo adjunto.
303
Preguntas y respuestas / Re:Quiero crear la trampa aplaste
Septiembre 15, 2017, 06:57:48 AM
Lo siento, mi error. Elimina el punto y coma en la condición.
[gml]
if (estado == "vigilando")
{
if(collision_line (x, y, x, y + 64, obj_jugador, true, true))
estado = "cayendo";
}
[/gml]
Las funciones de colisión avanzada son muy eficientes y usadas para desarrollar videojuegos, sólo hay que saber usarlas. Para lo que necesitas, collision_line es perfecta. Que te sea desconocida no la hace mala.
[gml]
if (estado == "vigilando")
{
if(collision_line (x, y, x, y + 64, obj_jugador, true, true))
estado = "cayendo";
}
[/gml]
Las funciones de colisión avanzada son muy eficientes y usadas para desarrollar videojuegos, sólo hay que saber usarlas. Para lo que necesitas, collision_line es perfecta. Que te sea desconocida no la hace mala.
304
Preguntas y respuestas / Re:Quiero crear la trampa aplaste
Septiembre 15, 2017, 06:32:37 AM
Sería así:
[gml]
if (estado == "vigilando")
{
if(collision_line (x, y, x, y + 64, obj_jugador, true, true));
estado = "cayendo";
}
[/gml]
[gml]
if (estado == "vigilando")
{
if(collision_line (x, y, x, y + 64, obj_jugador, true, true));
estado = "cayendo";
}
[/gml]
305
Preguntas y respuestas / Re:Quiero crear la trampa aplaste
Septiembre 15, 2017, 02:44:07 AM
http://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/collision_line.html
La función devuelve la id de cualquiera de las instancias que estén dentro de la colisión.
La función devuelve la id de cualquiera de las instancias que estén dentro de la colisión.
306
Preguntas y respuestas / Re:Contador de Fps
Septiembre 14, 2017, 01:37:45 AM
si es sólo para hacer pruebas, podrías usar la función show_debug_overlay().
307
Preguntas y respuestas / Re:Suelo destructible
Septiembre 14, 2017, 01:17:50 AMCita de: Tigerito019 en Septiembre 13, 2017, 05:38:58 PMEn realidad sería igual que if(alarm[0] < 0.5). Es una forma abreviada de comprobar si un valor es falso.
"if(!alarm[0])" Esto funciona igual que "if (alarm[0] == -1)" ? :o
308
Preguntas y respuestas / Re:Error con compilador Android
Septiembre 13, 2017, 06:05:08 AM
Debe ser por tu versión de GM. Las versiones pirateadas nunca funcionan bien.
309
Preguntas y respuestas / Re:Suelo destructible
Septiembre 13, 2017, 02:59:10 AM
Algo así, tal vez:
[gml]
///Evento de colisión muro-player (o sea, el evento está en el muro)
if(!alarm[0])
{
alarm[0] = room_speed * 3;
}
[/gml]
[gml]
//Evento de alarm 0 (también en el muro)
instance_destroy();
[/gml]
[gml]
///Evento de colisión muro-player (o sea, el evento está en el muro)
if(!alarm[0])
{
alarm[0] = room_speed * 3;
}
[/gml]
[gml]
//Evento de alarm 0 (también en el muro)
instance_destroy();
[/gml]
310
Preguntas y respuestas / Re:Variables y funciones
Septiembre 13, 2017, 02:56:12 AM
¡Tenga más spam! (¿y mi ban? xDxD, es broma >:v)
Aquí hay traducidas varias de las funciones definidas en la documentación oficial, por si te es menos pesado que leerlas en inglés:
https://manual-gamemakerstudio.000webhostapp.com/
PD: Wtf con ese adjunto xdxd
Aquí hay traducidas varias de las funciones definidas en la documentación oficial, por si te es menos pesado que leerlas en inglés:
https://manual-gamemakerstudio.000webhostapp.com/
PD: Wtf con ese adjunto xdxd
311
Preguntas y respuestas / Re:como aprender GML
Septiembre 12, 2017, 02:32:29 AM
Intentar cosas por ti mismo. Creo yo que para aprender a programar se debería dejar de lado tantos tutoriales específicos e intentar buscarle el sentido a los códigos, leer la documentación e intentar desarrollar por ti mismo las cosas, pensando y no sólo siguiendo instrucciones. Obviamente, y como bien dice [user]Naitsabes0[/user], es importante ser paciente y progresar con calma, dedicándole tiempo pero no absorberse hasta el punto de "cogerle fastidio" a los códigos.
La documentación de GM:
http://docs.yoyogames.com
Y traducida (incompleta):
http://manual-gamemakerstudio.000webhostapp.com/
Y un mega spam ahí en toa la cara xD:
https://www.dropbox.com/s/n4ic776e50gipwk/Curso%20de%20GML%20en%20espa%C3%B1ol.pdf?dl=0
La documentación de GM:
http://docs.yoyogames.com
Y traducida (incompleta):
http://manual-gamemakerstudio.000webhostapp.com/
Y un mega spam ahí en toa la cara xD:
https://www.dropbox.com/s/n4ic776e50gipwk/Curso%20de%20GML%20en%20espa%C3%B1ol.pdf?dl=0
312
Preguntas y respuestas / Re:Tengo un par de problemillas...
Septiembre 12, 2017, 01:50:27 AMCita de: LorenzoRD en Septiembre 12, 2017, 01:38:21 AMComo dije, sería más fácil dividir las animaciones en dos sprites, y manejarlas algo así:
A lo que yo me refería con el salto era la image_speed, como administrarla.
[gml]
if(place_free(x, y + 1))
sprite_index = sprite_saltando;
else
sprite_index = sprite_caminando;
[/gml]
Cita de: LorenzoRD en Septiembre 12, 2017, 01:38:21 AM¿No te funcionó?
Gracias por lo del temporizador, la verdad intenté hacer algo y salió muy mal.
Para lo de las puertas, es una cuestión un tanto más complicada. ¿Sólo hay una palanca y una puerta en la sala, o pueden haber más?
313
Preguntas y respuestas / Re:Tengo un par de problemillas...
Septiembre 11, 2017, 07:37:45 PM
1. Lo más fácil sería que dividieras las animaciones de caminar y saltar en dos sprites distintos para poderlos manejar individualmente sin tanto problema.
2. Para saltar, si usas el código de caída que te dejé antes, sólo asigna un valor negativo a la variable velocidadY, comprobando antes que esté en el suelo.
[gml]
///Evento presionar tecla de salto
if(!place_free(x, y + 1)) //Si está "pisando" el suelo
{
velocidadY = -10; //10 es la velocidad de salto.
}
[/gml]
3. El código del temporizador tiene unos cuantos errores. Además, el temporizador no funciona porque dicho código se ejecuta sólo en el evento de colisión, no es contínuo. Lo mejor sería usar alarmas.
[gml]
///Evento alarm 0
image_alpha = 1;
[/gml]
[gml]
///Evento de colisión
if(!alarm[0]) //Si la alarma no se ha activado
{
image_alpha = 0.5; //Reducir el alfa
object_life.vida -= 1; //Restar una vida
alarm[0] = room_speed; //Activar la alarma dentro de un segundo.
}
[/gml]
4. ¿Qué diferencia hay entre el objeto object_door y object_lever_door? ¿El evento de colisión pertenece al jugador, o está en el objeto palanca?
2. Para saltar, si usas el código de caída que te dejé antes, sólo asigna un valor negativo a la variable velocidadY, comprobando antes que esté en el suelo.
[gml]
///Evento presionar tecla de salto
if(!place_free(x, y + 1)) //Si está "pisando" el suelo
{
velocidadY = -10; //10 es la velocidad de salto.
}
[/gml]
3. El código del temporizador tiene unos cuantos errores. Además, el temporizador no funciona porque dicho código se ejecuta sólo en el evento de colisión, no es contínuo. Lo mejor sería usar alarmas.
[gml]
///Evento alarm 0
image_alpha = 1;
[/gml]
[gml]
///Evento de colisión
if(!alarm[0]) //Si la alarma no se ha activado
{
image_alpha = 0.5; //Reducir el alfa
object_life.vida -= 1; //Restar una vida
alarm[0] = room_speed; //Activar la alarma dentro de un segundo.
}
[/gml]
4. ¿Qué diferencia hay entre el objeto object_door y object_lever_door? ¿El evento de colisión pertenece al jugador, o está en el objeto palanca?
314
Preguntas y respuestas / Re:¿Cómo puedo hacer que mi personaje gire su sprite mientras está en el aire?
Septiembre 11, 2017, 08:16:08 AM
Ahí debes poner el nombre de tu sprite, por ejemplo:
[gml]
draw_sprite_ext(mi_sprite_jugador,0, x,y, 1,1, angulo,c_white,1);
[/gml]
[gml]
draw_sprite_ext(mi_sprite_jugador,0, x,y, 1,1, angulo,c_white,1);
[/gml]
315
Preguntas y respuestas / Re:Aumento de escala
Septiembre 11, 2017, 03:12:31 AM
¿Así?
[gml]
aumento = 1.5;
image_xscale = aumento;
image_yscale = aumento;
[/gml]
Para mantener la proporción del sprite, mantén ambas variables iguales. El tamaño original es 1.
[gml]
aumento = 1.5;
image_xscale = aumento;
image_yscale = aumento;
[/gml]
Para mantener la proporción del sprite, mantén ambas variables iguales. El tamaño original es 1.