Cita de: francordoba en Febrero 02, 2013, 04:45:04 AMQue bueno que lo resolviste :-[. El problema del for fue que escribí un ">" en lugar de un ";", jeje el teclado estaba en ingles y se me paso.
Los nombres los obtuve con un array que además va llamando en el "for" a su variable interna de cada pozo.
Tuve que tirar de varias cosas y vuestra info y al final lo conseguí.
Gracias a todos por vuestro interés y vuestra paciencia y espero que esto ayude a mejorar a los makeros.
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.
316
Preguntas y respuestas / Re:Repetir acciones si no se cumple una condición.(RESUELTO)
Febrero 02, 2013, 07:59:24 AM317
Preguntas y respuestas / Re:Repetir acciones si no se cumple una condición.
Febrero 01, 2013, 09:47:28 PM
Wow una vez fui a una clase de programación (a la que nunca regrese) y el ejercicio que pusieron fue uno igual al que preguntas.
Bueno la respuesta está en un bucle, para esté caso un for, si no sabes como funciona buscala en el manual o en google.
Aunque bueno viendo esto supongo que tal vez tu problema no sean los bucles si no que no es posible llamar a objetos por su nombre.
La solución más elegante que se me ocurre es crear un array con los numeros de todos tus pozos, esto lo haría siguiendo estos pasos.
Crear un objeto llamado par_pozo(o como quieras) y asignar a todos los posos como padre a par pozo.
El evento padre de par_pozo pon esté código.
[gml]
/*La función object_get_name devuelve un string con el nombre de un objeto.
Lo que tienes que hacer es obtener el nombre del objeto del pozo, por ejemplo "obj_pozo0"
y borrar el "obj_pozo" y dejar nomas el numero y bueno eso se haría con todos tus pozos automaticamente
para hacerlo eliminas los primeros 8 caracteres del nombre usando string_delete()*/
global.nPozos=5;//numero de objetos pozo
global.Pozos=[ string_delete( object_get_name(object_index), 0, 8 ) ]=id;
[/gml]
Entonces en el objeto que quieras checar si los pozos están llenos haces esto.
[gml]
for(i=0; i<global.nPozos< i+=1)(
if ( !global.Pozos.lleno ){
//Aquí lo que se hace con el primer pozo vació.
break;
}
//Aquí lo que se hace con los pozos llenos
}
[/gml]
Bueno la respuesta está en un bucle, para esté caso un for, si no sabes como funciona buscala en el manual o en google.
Aunque bueno viendo esto supongo que tal vez tu problema no sean los bucles si no que no es posible llamar a objetos por su nombre.
La solución más elegante que se me ocurre es crear un array con los numeros de todos tus pozos, esto lo haría siguiendo estos pasos.
Crear un objeto llamado par_pozo(o como quieras) y asignar a todos los posos como padre a par pozo.
El evento padre de par_pozo pon esté código.
[gml]
/*La función object_get_name devuelve un string con el nombre de un objeto.
Lo que tienes que hacer es obtener el nombre del objeto del pozo, por ejemplo "obj_pozo0"
y borrar el "obj_pozo" y dejar nomas el numero y bueno eso se haría con todos tus pozos automaticamente
para hacerlo eliminas los primeros 8 caracteres del nombre usando string_delete()*/
global.nPozos=5;//numero de objetos pozo
global.Pozos=[ string_delete( object_get_name(object_index), 0, 8 ) ]=id;
[/gml]
Entonces en el objeto que quieras checar si los pozos están llenos haces esto.
[gml]
for(i=0; i<global.nPozos< i+=1)(
if ( !global.Pozos.lleno ){
//Aquí lo que se hace con el primer pozo vació.
break;
}
//Aquí lo que se hace con los pozos llenos
}
[/gml]
318
Preguntas y respuestas / Re:Sprite aleatorio
Enero 30, 2013, 11:58:59 PMCita de: somnus en Enero 30, 2013, 09:22:56 PMCreo que un choose es exactamente lo mismo que un switch(random) xD así que es muy raro hacer lo mismo dos veces.
es muy cierto lo que dice brunox
si fuera un juego demas grande y tendriamos que optimizar el codigo tengan en cuenta
que cuando se hace un choose dentro de otra iteracion, cada vez que entramos en un resultado, empieza el proceso, para definirlo, ( que lio dije )
aunque tambien creo, que choose, internamente ha de usar un random que sea como limite la longitud de parametros que acepta la funcion choose.
en dispositivos mobiles es importante no sobrecargar la memoria con detalles de esos
Igual esto no es algo tan alarmante la optimización es buena pero no hay que excederse con ella cuando no es necesaria a veces consume mucho tiempo pensarla y otras sacrifica legibilidad del código (claro que esté no es el caso).
P.D: Por cierto lo que dices de los dispositivos mobiles, si haz probado el modulo de html5 te darás cuenta de lo que es lentitud, y más si lo pruebas desde un mobil. Lo peor es que pronto los juegos estarán compilados y todos los módulos serán varias veces más rápidos excepto html5.
319
Preguntas y respuestas / Re:Sprite aleatorio
Enero 29, 2013, 10:43:48 PMCita de: Karasuman en Enero 29, 2013, 09:28:39 PMQue raro por que usas choose, en lugar de random?, es decir si ya vas a usar un choose podrías haberlo hecho así:
Prueba con eso y medices:Código [Seleccionar]
//Evento Create
switch(choose(1,2,3,4)){
case 1: sprite_index=sprite_1;
break;
case 2: sprite_index=sprite_2;
break;
case 3: sprite_index=sprite_3;
break;
case 4: sprite_index=sprite_4;
break;
}
Código [Seleccionar]
sprite_index=choose(sprite1, sprite2, sprite3, sprite4);
pero si vas a usar un switch lo mas comun y conveniente sería usando un random.
Código [Seleccionar]
switch( irandom(4) ){/.......
Pero bueno funciona y eso es lo que importa.
320
Preguntas y respuestas / Re:Correr GM Studio en una tablet.
Enero 28, 2013, 09:08:35 PM
Solo sus juegos no el programa.
321
Noticias / Re:[Juegos en Desarrollo] Consola GM: Proyecto del Mes!
Enero 28, 2013, 08:36:36 PM
Me encanta la propuesta la propuesta es muy cómodo descargar los juegos como para abrirla en un rato libre y jugar lo que te encuentres.
Cita de: Creador de juegos GM en Enero 28, 2013, 06:06:57 PMMás que saber como ha conseguido hacerlo estaría interesante liberar el código para que otros podamos ayudar y porqué no estudiar como tu dices.
hay alguien que quiera saber como lo ha conseguido? porqe estoy dispuesto a entregarles el editable (si texic me deja ,bueno,yo opino que mas que ser un (``videojuego es un descargador y jugador de videojuegos´´)
pero opino que es lo mejor que hay de todo aunque tambien hay que entender que hat distintas calses de videojuegos.
322
Preguntas y respuestas / Re:Trabajar con SVN
Enero 22, 2013, 11:05:25 PM
Checate esté tutorial http://gmc.yoyogames.com/index.php?showtopic=559687.
Yo logre hacerlo funcionar siguiéndolo pero mi amigo no, al final usamos otro método.
P.D: Avisa si no sabes ingles.
Yo logre hacerlo funcionar siguiéndolo pero mi amigo no, al final usamos otro método.
P.D: Avisa si no sabes ingles.
323
Preguntas y respuestas / Re:Disparo persiga al personaje Path
Enero 22, 2013, 10:57:14 PM
Ejemplo adjunto.
Cualquier duda no dudes en comentar :-[.
Cualquier duda no dudes en comentar :-[.
324
Propuestas y soporte / Re:[Importate :S] Virus ronda por seccion descargas
Enero 22, 2013, 10:17:04 PM
Lo descargue, lo ejecute, me puse a crear sonidos y no me ha dado ningún problema, ademas lo puse en la pagina mencionada hace un rato y ningún antivirus detecta algo.
Conforme a como solucionarlo, la solución mas simple es buscar en google que paginas te abre y los problemas que causa el virus y casi siempre hay alguien que tuvo el mismo virus y lo soluciono, solo ves como y ya.
Conforme a como solucionarlo, la solución mas simple es buscar en google que paginas te abre y los problemas que causa el virus y casi siempre hay alguien que tuvo el mismo virus y lo soluciono, solo ves como y ya.
325
Preguntas y respuestas / Re:Trabajar con SVN
Enero 22, 2013, 09:45:57 PMCita de: francordoba en Enero 22, 2013, 06:56:26 PMJaja tienes razón el svn de gm studio no sirve para nada está MUY buggeado en mi computadora no funciona muy bien, pero yo si lo logre conectar con assembla y trabaje con un amigo y a el le funciono perfecto mientras que mi gm studio sospecho que por estar en windows xp daba errores muy raros pero logramos crear un pequeño juego, yo tenia que actualizar todo desde el explorador pero se pudo.
Estuve trasteando (aprendo día a día), al final el propio SVN de Gamemaker no conectaba bien con "Assembla" en internet. AL final me deje de pegos y me paso objetos y códigos por mail con un amigo. Nos entendemos y auqnue esté la cosa limitada, podemos trabajar.
Sinceramente veo que GameMaker Studio está aún en pañales, aunque, es una maravilla.
Que errores te da o que pasos seguiste?.
326
Preguntas y respuestas / Re:Detectar colision con sprite
Enero 22, 2013, 09:39:27 PMCita de: francordoba en Enero 22, 2013, 09:29:00 PMsolo pon el script que te dice wadk en el evento "end step".
Lo acabo de probar, lo sigue muy bien y funciona como yo quería, parando los proyectiles enemigos, pero, cuando mi personaje cae a distancias altas y se acelera en la caída mucho, el escudo sufre un pequeño retraso al seguirlo. Alguna solución?
327
Preguntas y respuestas / Re:Disparo persiga al personaje Path
Enero 22, 2013, 09:38:01 PM
[gml]
//argument0 direccion
//argument1 velocidad
//argument2 amplitud
//argument3 frecuencia
x+=lengthdir_x(argument1 , argument0+lengthdir_y(argument2, current_time/argument3));
y+=lengthdir_y(argument1 , argument0+lengthdir_y(argument2, current_time/argument3));[/gml]
Pues te hice un script lo puedes usar por ejemplo en tu bala de un modo parecido a esté.
[gml]
movimiento_senoidal (dir, vel, 40, 4);
[/gml]
Antes había un script de fenrris que hacia eso, pero aparentemente fue borrado con el tiempo.
Intenta variando algo los argumentos.
Nota elimina cualquier otra cosa que pueda mover al objeto para que no interfiera con el script.
//argument0 direccion
//argument1 velocidad
//argument2 amplitud
//argument3 frecuencia
x+=lengthdir_x(argument1 , argument0+lengthdir_y(argument2, current_time/argument3));
y+=lengthdir_y(argument1 , argument0+lengthdir_y(argument2, current_time/argument3));[/gml]
Pues te hice un script lo puedes usar por ejemplo en tu bala de un modo parecido a esté.
[gml]
movimiento_senoidal (dir, vel, 40, 4);
[/gml]
Antes había un script de fenrris que hacia eso, pero aparentemente fue borrado con el tiempo.
Intenta variando algo los argumentos.
Nota elimina cualquier otra cosa que pueda mover al objeto para que no interfiera con el script.
328
Preguntas y respuestas / Re:problema con colisión en 3d (SOLUCIONADO)
Enero 21, 2013, 07:18:24 AM
Pues bueno una solución simple (y tal vez no la mejor) es simplemente eliminar las colisiones con los cubos con menos altura cuando estén varios en un solo lugar, de este modo solo tendrías que preocuparte por la colisión con los cubos mas altos.
Por cierto, a como vi tu juego tu mejor opción es hacer colisiones con un array tridimensional.
Por cierto, a como vi tu juego tu mejor opción es hacer colisiones con un array tridimensional.
329
Preguntas y respuestas / Re:Como hacer sombras en 3d?
Enero 20, 2013, 05:13:31 AM
estás usando gm8?, te dejo un adjunto que a mi me funciona en gm8.
330
Preguntas y respuestas / Re:Como hacer sombras en 3d?
Enero 20, 2013, 01:11:38 AM
Sí da un error muy común cuando intentas abrir un archivo de gm6 o 7 con gm8 y es que las funciones de carga y creación de sprites y bakgrounds cambiaron en gm8, solo elimina el ultimo argumento de la función que da error