No creo que se pueda mover una imagen por menos de un píxel a la vez porque justamente el píxel es lo mas chico que hay, seguro que te va a redondear a las unidades, haciendo que se mueva "saltando", algo así como que se mueve 1 píxel cada 10 steps si lo ponés a 0.1
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.
16
Preguntas y respuestas / Re:(DUDA) movimiento horizontal de backgorund en decimales
Enero 18, 2014, 01:04:03 PM17
Preguntas y respuestas / Re:¿Utilizar los eventos o hacerlo todo en código?
Enero 02, 2014, 03:28:32 PM
Si, pero no creo que la diferencia sea tan grande. Porque el evento Step se ejecuta 30 veces por segundo, al igual que 30 veces por segundo se chequean las colisiones de tus eventos de colisión, se chequean las teclas de tus eventos de teclado y demás. La única diferencia es que supuestamente es un poco más rápido usar los eventos, por ejemplo para chequear colisiones sería mejor poner un evento colisión que escribirlo en Step pero la diferencia creo que es mínima, me importa más la comodidad
Los comentarios para mí se deben a que es más fácil ralentizar el juego desde ahí, porque si no tenés cuidado podés equivocarte y hacer algo que ralentize el juego
Los comentarios para mí se deben a que es más fácil ralentizar el juego desde ahí, porque si no tenés cuidado podés equivocarte y hacer algo que ralentize el juego
18
Preguntas y respuestas / Re:Al colisionar una instancia repetida todas hacen lo mismo
Diciembre 31, 2013, 01:42:00 AM
Entonces no se, lo único que se me ocurre es que tengas varios ninjas, o que algún objeto se mueva muy rápido
19
Preguntas y respuestas / Re:Al colisionar una instancia repetida todas hacen lo mismo
Diciembre 31, 2013, 12:37:15 AM
No debería pasar, ¿Cuál es el código que usas para que caiga la plataforma? ¿Estás usando un evento de colisión común? ¿O a lo mejor usando variables globales?
20
Juegos completos / Re:Agapornis
Diciembre 30, 2013, 05:36:13 PM
No lo puedo creer, acabo de entender tu foto de perfil @pucara , es el jefe de IT Crowd jajajaja
21
Preguntas y respuestas / Re:¿Utilizar los eventos o hacerlo todo en código?
Diciembre 30, 2013, 05:14:29 PM
Podes hacerlo como quieras, mientras que funcione, entiendas y sea fácil de modificar está bien
A mi me gusta poner todo en el evento Step pero dividirlo en Scripts. Hace bastante que no uso GM, pero lo último que hice fue participar en la GIA, y en step tenía esto:
Como ves está todo en scripts, entonces está todo bien dividido por acciones. Obviamente solamente hago esto cuando sé que voy a escribir mucho en Step (ahora que me fijo tenía como 15 scripts de más o menos ese largo cada uno)
A mi me gusta poner todo en el evento Step pero dividirlo en Scripts. Hace bastante que no uso GM, pero lo último que hice fue participar en la GIA, y en step tenía esto:
Código [Seleccionar]
Mgbu_timer += 1
if (Mgbu_timer mod 5 = 0) scr_Mgbu_memoria_actualizar() // Actualizar memoria cada 5 steps
//Si hay poca vida y se esta sobre vidas agarrar
if (scr_Mgbu_poca_vida() && scr_Mgbu_sobre_objeto("Vida")) {
exito = scr_recoger_vida_piso()
if (exito = true) {
scr_Mgbu_memoria_borrar("Vida", x - 16, y - 16)
scr_dialogo("El agua oxigenada hace arder :(")
}
}
//Si se esta sobre armas agarrar
if (scr_Mgbu_sobre_objeto("Ametralladora") || scr_Mgbu_sobre_objeto("Pistola")) {
scr_Mgbu_agarrar_arma()
}
if (scr_ver_enemigos() = false) {//No hay enemigos cerca
// Que hacer cuando no hay nada que hacer
scr_Mgbu_recargar_arma() // Recargar para estar listo
scr_girar(7) // Girar para ver todo
scr_Mgbu_moverse_armas() // Ir hacia armas
if (scr_Mgbu_poca_vida()) scr_Mgbu_moverse_vida()
if (scr_get_camino() = 0) scr_Mgbu_moverse_aleatorio() // O si no hacia cualquier lado
}
else {
//Si hay enemigos cerca
if (scr_ver_enemigos() < 2 && !scr_Mgbu_muy_poca_vida()) scr_detener_camino() // Si es uno solo quedarse quieto (salvo que se vaya a buscar vida, si es asi, se mueve por el override de abajo)
else scr_dialogo("Veo una linda fiesta aca")
if (scr_Mgbu_poca_vida()) scr_Mgbu_moverse_vida()
if (scr_Mgbu_muy_poca_vida() && scr_get_camino() = 0) scr_Mgbu_moverse_aleatorio()
scr_Mgbu_apuntar() // Apuntar y disparar!
}
Como ves está todo en scripts, entonces está todo bien dividido por acciones. Obviamente solamente hago esto cuando sé que voy a escribir mucho en Step (ahora que me fijo tenía como 15 scripts de más o menos ese largo cada uno)
22
Preguntas y respuestas / Re:¿Como hacer que el objeto caiga dando vueltas?
Diciembre 26, 2013, 10:31:20 PM
Mmmm no se :-\, lo que yo haría es ir probando diferentes posiciones hasta encontrar una libre, pero place_free necesita las coordenadas y yo no sé cómo obtenerlas, porque la posición en el path no está medida en coordenadas.
A lo mejor hay otra forma pero no se me ocurre, me parece que conviene abrir un nuevo tema para ver si a alguien se le ocurre algo
A lo mejor hay otra forma pero no se me ocurre, me parece que conviene abrir un nuevo tema para ver si a alguien se le ocurre algo
23
Propuestas y soporte / Re:Propongo mas secciones
Diciembre 26, 2013, 12:05:20 AM
Me parece que sería dividir demasiado las cosas. Además que se supone que la forma de hacer juegos es la misma para todas las plataformas. Lo que cambia es lo de menos
Sería más útil agregar algo así como un indicador de la plataforma utilizada, algo así como un segundo ícono del tema. Pero tampoco me parece tan necesario, si la pregunta es sensible a la plataforma se aclararía en el texto
Sería más útil agregar algo así como un indicador de la plataforma utilizada, algo así como un segundo ícono del tema. Pero tampoco me parece tan necesario, si la pregunta es sensible a la plataforma se aclararía en el texto
24
Preguntas y respuestas / Re:COMO HACER NIVELES DESBLOQUEABLES ESTILO ANGLY BIRDS y que se grabe el progreso
Diciembre 24, 2013, 09:59:35 PMCita de: michaelosan en Diciembre 24, 2013, 06:04:32 AMTenés que poner este código en el lugar indicado:
:-\ hola hice todo lo unico que falta es la parte final no me modifica el archivo ini al pasar de nivel q molestia
ini_open("niveles.ini") // Cambiar "niveles.ini" por el nombre de tu archivo INI
ini_write_real("Niveles", "nivel2", 1) // Cambiar "Niveles" por la sección que uses del INI (Es lo que está entre corchetes en el INI, en mi ejemplo anterior era "Niveles") y cambiar "nivel2" por como tengas escrito ese nivel en el INI. El número 1 es lo que se va a escribir en el INI, si uno quiere bloquear el nivel debería poner un 0
ini_close()
o sera el objeto que uso para pasar de nivel
{ {
instance_deactivate_all(true);
instance_create(400, 240, obj_background_win);
instance_create(400, 250, object_next);
instance_create(400, 310, object_restart);
instance_create(400, 370, object_title);
instance_create(400, 140, obj_you_win);
instance_destroy();
}
}
oye por que no bajas de aqui esta versiion de prueba y haces un ejem plo plis gamemakerstudiomc.blogspot.mx/
Código [Seleccionar]
ini_open("niveles.ini") // Cambiar "niveles.ini" por el nombre de tu archivo INI
ini_write_real("Niveles", "nivel2", 1) // Cambiar "Niveles" por la sección que uses del INI (Es lo que está entre corchetes en el INI, en mi ejemplo anterior era "Niveles") y cambiar "nivel2" por como tengas escrito ese nivel en el INI. El número 1 es lo que se va a escribir en el INI, si uno quiere bloquear el nivel debería poner un 0
ini_close()
Debería ir en el lugar en donde se termina el nivel. Si el código que me pasaste se ejecuta al ganar quedaría algo así:
Código [Seleccionar]
{ {
instance_deactivate_all(true);
instance_create(400, 240, obj_background_win);
instance_create(400, 250, object_next);
instance_create(400, 310, object_restart);
instance_create(400, 370, object_title);
instance_create(400, 140, obj_you_win);
ini_open("niveles.ini") // Cambiar "niveles.ini" por el nombre de tu archivo INI
ini_write_real("Niveles", "nivel2", 1) // Cambiar "Niveles" por la sección que uses del INI (Es lo que está entre corchetes en el INI, en mi ejemplo anterior era "Niveles") y cambiar "nivel2" por como tengas escrito ese nivel en el INI. El número 1 es lo que se va a escribir en el INI, si uno quiere bloquear el nivel debería poner un 0
ini_close()
instance_destroy();
}
}
25
Preguntas y respuestas / Re:¿Como hacer que el objeto caiga dando vueltas?
Diciembre 24, 2013, 09:54:54 PM
No se cómo se podría hacer, pero depende de cómo sea la cosa
¿Los objetos deben agregarse en el punto inicial del path o en cualquier lugar?
¿El punto inicial del path es siempre el mismo? Si es así antes de colocar un objeto en el path podés hacer place_free para fijarte si el lugar está libre
¿Los objetos deben agregarse en el punto inicial del path o en cualquier lugar?
¿El punto inicial del path es siempre el mismo? Si es así antes de colocar un objeto en el path podés hacer place_free para fijarte si el lugar está libre
26
Preguntas y respuestas / Re:editar un .txt
Diciembre 24, 2013, 09:42:48 PM
La única es aprender a usar las funciones y saber usar bien las funciones de edición de strings para saber bien dónde editar
Si nos das un ejemplo concreto podemos hacerte un ejemplo sobre cómo hacerlo
Si nos das un ejemplo concreto podemos hacerte un ejemplo sobre cómo hacerlo
27
Preguntas y respuestas / Re:COMO HACER NIVELES DESBLOQUEABLES ESTILO ANGLY BIRDS y que se grabe el progreso
Diciembre 23, 2013, 03:05:39 PM
No tengo GMS por lo que no te puedo hacer el ejemplo, pero te puedo explicar cómo hacer los botones
En el create se debe saber si el nivel está bloqueado o no. Para eso se abre el archivo INI, se lee si el nivel tiene un 1 o un 0 y se cierra el archivo INI. Luego más tarde en el mismo create se debe poner el sprite dependiendo del nivel y de si está bloqueado. Sería algo así:
Y ahí ya está. Lo que falta es hacer que el botón vaya al nivel si éste es presionado. Entonces en el evento Mouse Click se pone:
Por último si vos querés desbloquear un nivel, por ejemplo al completar el nivel anterior debes poner en el lugar indicado (o sea justo después de completar el nivel) esto:
En el create se debe saber si el nivel está bloqueado o no. Para eso se abre el archivo INI, se lee si el nivel tiene un 1 o un 0 y se cierra el archivo INI. Luego más tarde en el mismo create se debe poner el sprite dependiendo del nivel y de si está bloqueado. Sería algo así:
Código [Seleccionar]
ini_open("niveles.ini") // Cambiar "niveles.ini" por el nombre de tu archivo INI
desbloqueado = ini_read_real("Niveles", "nivel2", 0) // Cambiar "Niveles" por la sección que uses del INI (Es lo que está entre corchetes en el INI, en mi ejemplo anterior era "Niveles") y cambiar "nivel2" por como tengas escrito ese nivel en el INI, el 0 es lo que devuelve la función en caso de error, dejalo así
ini_close()
if (desbloqueado = 1) sprite_index = spr_nivel2_desbloqueado // Si está desbloqueado poner el sprite correspondiente
else sprite_index = spr_nivel2_bloqueado // o si no poner el sprite de bloqueado
Y ahí ya está. Lo que falta es hacer que el botón vaya al nivel si éste es presionado. Entonces en el evento Mouse Click se pone:
Código [Seleccionar]
if (desbloqueado = 1) room_goto(nivel2) // Ir a la room correspondiente si el botón está debloqueado
Por último si vos querés desbloquear un nivel, por ejemplo al completar el nivel anterior debes poner en el lugar indicado (o sea justo después de completar el nivel) esto:
Código [Seleccionar]
ini_open("niveles.ini") // Cambiar "niveles.ini" por el nombre de tu archivo INI
ini_write_real("Niveles", "nivel2", 1) // Cambiar "Niveles" por la sección que uses del INI (Es lo que está entre corchetes en el INI, en mi ejemplo anterior era "Niveles") y cambiar "nivel2" por como tengas escrito ese nivel en el INI. El número 1 es lo que se va a escribir en el INI, si uno quiere bloquear el nivel debería poner un 0
ini_close()
28
Preguntas y respuestas / Re:¿Como hacer que el objeto caiga dando vueltas?
Diciembre 23, 2013, 02:49:57 PM
No puedo abrir el ejemplo porque no tengo GMS, pero sí se puede arreglar
La gravedad se debe poner en todos los objetos que deban caer en el momento en donde uno quiere que comiencen a caer. Si hay objetos padre e hijo creo que con ponerlo en lso objetos padera ya basta, porque el objeto hijo contendrá todo lo que tiene el padre
Por lo que entiendo el problema que tenés es que comienzan a caer y girar antes de tiempo. Entonces lo que yo haría es:
Poner en el Create "gravity_direction=270", esto le indica al objeto hacia dónde caer, pero no lo hace comenzar a caer
En el momento en que el objeto deba caer debes poner "gravity=0.5", esto puede ir en un evento Mouse Click para que comience a caer al hacerle click por ejemplo
Y en step para que sólo gire mientras cae debemos agregar una condición a lo de "image_angle += 5". Sería algo así: "if (gravity != 0) image_angle += 5". Eso se traduce a: "Si la gravedad no es igual a 0, girar"
Para hacer que los objetos aparezcan aleatoriamente te recomiendo crear un nuevo tema, ya que depende mucho de las condiciones que necesitás
La gravedad se debe poner en todos los objetos que deban caer en el momento en donde uno quiere que comiencen a caer. Si hay objetos padre e hijo creo que con ponerlo en lso objetos padera ya basta, porque el objeto hijo contendrá todo lo que tiene el padre
Por lo que entiendo el problema que tenés es que comienzan a caer y girar antes de tiempo. Entonces lo que yo haría es:
Poner en el Create "gravity_direction=270", esto le indica al objeto hacia dónde caer, pero no lo hace comenzar a caer
En el momento en que el objeto deba caer debes poner "gravity=0.5", esto puede ir en un evento Mouse Click para que comience a caer al hacerle click por ejemplo
Y en step para que sólo gire mientras cae debemos agregar una condición a lo de "image_angle += 5". Sería algo así: "if (gravity != 0) image_angle += 5". Eso se traduce a: "Si la gravedad no es igual a 0, girar"
Para hacer que los objetos aparezcan aleatoriamente te recomiendo crear un nuevo tema, ya que depende mucho de las condiciones que necesitás
29
Preguntas y respuestas / Re:COMO HACER NIVELES DESBLOQUEABLES ESTILO ANGLY BIRDS y que se grabe el progreso
Diciembre 23, 2013, 01:27:50 AM
Me parece que la mejor forma es usar un archivo INI en donde escribas algo así (si tiene un 1 está desbloqueado y si tiene un 0 está bloqueado):
Entonces ponés un 0 o un 1 dependiendo si está bloqueado o no. Luego en la pnatalla de seleción de niveles lees el INI y te fijás cuáles niveles bloquear
En otro ejemplo recomendaban hacer algo así como un array en donde ponés true o false dependiendo si ese civel está bloqueado o no. Por ejemplo:
Y después te fijas en la selección de niveles cuáñes están bloqueados. El problema está en que de esta forma se pierden los progresos al reiniciar el juego, Por eso se puede usar la función de guardado del juego para volver a donde estabas. Pero eso implica guardar todo un juego, en el ejemplo del INI sólo hace falta guardar los desbloqueos
Código [Seleccionar]
[Niveles]
nivel1=1
nivel2=1
nivel3=1
nivel4=0
nivel5=0
nivel6=0
nivel7=0
nivel8=0
Entonces ponés un 0 o un 1 dependiendo si está bloqueado o no. Luego en la pnatalla de seleción de niveles lees el INI y te fijás cuáles niveles bloquear
En otro ejemplo recomendaban hacer algo así como un array en donde ponés true o false dependiendo si ese civel está bloqueado o no. Por ejemplo:
Código [Seleccionar]
desbloqueados[1]=true
desbloqueados[2]=true
desbloqueados[3]=true
desbloqueados[4]=false
desbloqueados[5]=false
desbloqueados[6]=false
desbloqueados[7]=false
desbloqueados[8]=false
Y después te fijas en la selección de niveles cuáñes están bloqueados. El problema está en que de esta forma se pierden los progresos al reiniciar el juego, Por eso se puede usar la función de guardado del juego para volver a donde estabas. Pero eso implica guardar todo un juego, en el ejemplo del INI sólo hace falta guardar los desbloqueos
30
Preguntas y respuestas / Re:COMO HACER NIVELES DESBLOQUEABLES y que se grabe el progreso
Diciembre 21, 2013, 06:25:43 PM
Podés fijarte en los siguientes posts:
http://www.comunidadgm.org/index.php?topic=19219.msg91214
http://www.comunidadgm.org/index.php?topic=19007.msg90140
http://www.comunidadgm.org/index.php?topic=10727.msg49845
Obviamente si tenés alguna duda pregunta
http://www.comunidadgm.org/index.php?topic=19219.msg91214
http://www.comunidadgm.org/index.php?topic=19007.msg90140
http://www.comunidadgm.org/index.php?topic=10727.msg49845
Obviamente si tenés alguna duda pregunta