El juego tiene que mejorar, hay muchas cosas que evitan que sea divertido: al presionar la tecla de salto tarda mucho en reaccionar; la colisión con las plataformas no es muy buena, porque a veces te quedas atorado y sólo es posible moverse en forma horizontal; los controles son incómodos, se deberían poder personalizar; y falta tener una pantalla de ayuda, por si se te olvida cómo están configurados los botones. Saludos.
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.
1502
Preguntas y respuestas / Re:Esperar a que termine un scrips
Enero 10, 2015, 08:12:59 PM
No se bien lo que quieres hacer, pero entiendo algo así: quieres que el script mueva a la criatura por celdas hasta que encuentre algo que atacar, y que se vayan mostrando las animaciones de todo lo que hace. Eso no se puede hacer en un solo step en GMS, porque el evento Draw tiene que ser ejecutado varias veces. En versiones anteriores si se podía con las funciones sleep y screen_redraw, pero ya son obsoletas.
Como dice 3dgeminis se pueden usar alarmas o ,se me ocurre, que la criatura actúe conforme a un sistema de estados.
Además, en el código hay partes que pueden ocasionar un comportamiento inesperado: el operador <> no marca errores, pero no aparece en la documetación, y no tengo idea de cómo funciona o si es aplicable ahí; la condición if obstaculo = -1 puede que nunca se cumpla, porque la variable obstaculo se asignó con la función collision_point que devuelve el id de una instancia o la constante noone que es igual a -4.
Como dice 3dgeminis se pueden usar alarmas o ,se me ocurre, que la criatura actúe conforme a un sistema de estados.
Además, en el código hay partes que pueden ocasionar un comportamiento inesperado: el operador <> no marca errores, pero no aparece en la documetación, y no tengo idea de cómo funciona o si es aplicable ahí; la condición if obstaculo = -1 puede que nunca se cumpla, porque la variable obstaculo se asignó con la función collision_point que devuelve el id de una instancia o la constante noone que es igual a -4.
1503
Preguntas y respuestas / Re:Borde blanco en sprites
Enero 10, 2015, 05:25:29 PM
Si el juego tiene baja resolución (pixelart), prueba desactivando la interpolación entre pixeles. Da doble click en "Global Game Settings", que está abajo del arbol de recursos, después elige el "target" en las pestañas de arriba, elige "Graphics" en las pestañas de la izquierda y desmarca la casilla "Interpolate colors between pixels".
1504
Preguntas y respuestas / Re:Límite barra de vida
Enero 10, 2015, 05:06:12 PM
Debes mover estas lineas al principio del código:
[gml]
if global.salud > 100
{global.salud=100};
[/gml]
lo que pasa es que cuando la variable salud se incrementa en exceso se dibuja la barra con exceso, después se ejecutan las líneas que ponen el límite, y la barra con límite se dibuja hasta el siguiente evento Draw, el orden es lo que está afectando, todo lo demás parece estar bien.
[gml]
if global.salud > 100
{global.salud=100};
[/gml]
lo que pasa es que cuando la variable salud se incrementa en exceso se dibuja la barra con exceso, después se ejecutan las líneas que ponen el límite, y la barra con límite se dibuja hasta el siguiente evento Draw, el orden es lo que está afectando, todo lo demás parece estar bien.
1505
Preguntas y respuestas / Re:ayuda con accion de movimientos 3d
Enero 07, 2015, 03:30:05 PM
Para hacer animaciones en 3D he estado probando con este programa: http://sandbox.yoyogames.com/games/120956-3d-animator
1506
Preguntas y respuestas / Re:Mil dudas con collision
Enero 03, 2015, 11:55:24 PM
Estas son las funciones que devuelven el id de la instancia con la que se colisiona:
Usa collision_point para obtener el id de cualquier instancia, o usa instance_position para obtener el id de instancias de un sólo tipo de objeto; esas son las funciones más rápidas porque sólo revisan un punto.
- collision_circle
- collision_ellipse
- collision_line
- collision_point
- collision_rectangle
- instance_place
- instance_position
Usa collision_point para obtener el id de cualquier instancia, o usa instance_position para obtener el id de instancias de un sólo tipo de objeto; esas son las funciones más rápidas porque sólo revisan un punto.
1507
Preguntas y respuestas / Re:Un poco perdido con objeto e instancia
Enero 03, 2015, 07:33:16 PM
Lo más sencillo es que cada instancia dibuje sus variables, con un código como éste en el evento Draw:
[gml]
draw_self(); // esta función es necesaria para que se dibuje el personaje
draw_text( x,y, string(variable1) ); // dibujar variables
draw_text( x,y+16, string(variable2) );
[/gml]
para dibujar un valor numérico, antes se debe obtener una "cadena" de ese número con la función "string".
Si el texto se dibuja con otro objeto, usa la construcción "with":
[gml]
with( obj )
{
draw_text( x,y, string(variable1) ); // dibujar variables
draw_text( x,y+16, string(variable2) );
}
[/gml]
ése código se ejecutará para cada instancia de obj.
"instance_id" es un array que contiene los id's de todas las instancias activas en la room, la variable que identifica a una instancia es id.
[gml]
draw_self(); // esta función es necesaria para que se dibuje el personaje
draw_text( x,y, string(variable1) ); // dibujar variables
draw_text( x,y+16, string(variable2) );
[/gml]
para dibujar un valor numérico, antes se debe obtener una "cadena" de ese número con la función "string".
Si el texto se dibuja con otro objeto, usa la construcción "with":
[gml]
with( obj )
{
draw_text( x,y, string(variable1) ); // dibujar variables
draw_text( x,y+16, string(variable2) );
}
[/gml]
ése código se ejecutará para cada instancia de obj.
"instance_id" es un array que contiene los id's de todas las instancias activas en la room, la variable que identifica a una instancia es id.
1508
Preguntas y respuestas / Re:Pariente de un objeto en codigo
Enero 01, 2015, 06:57:24 PM
En GM8 existe la función object_set_parent, pero es obsoleta en GMS: http://docs.yoyogames.com/index.html?page=source%2Fdadiospice%2F002_reference%2F017_obsolete%20functions%2Fobsolete%20dynamic%20functions.html
1509
Preguntas y respuestas / Re:Montañas top down
Enero 01, 2015, 06:23:23 PM
Creo que esas caras son porque el primer mensaje es difícil de entender, yo no entendía a lo que te referías.
En el juego, para dar la sensación de profundidad puedes crear los escenarios con efecto parallax y crear tiles para el terreno con diferentes formas de sombreado, para que parezca que tiene diferentes inclinaciones. Para poner gran cantidad de detalles, yo lo haría en verdadero 3D, usando terreno generado con mapas de alturas, los objetos podrían ser modelos tridimensionales, pero para simplificar, se podrían usar srpites planos con diferentes altitudes.
En el juego, para dar la sensación de profundidad puedes crear los escenarios con efecto parallax y crear tiles para el terreno con diferentes formas de sombreado, para que parezca que tiene diferentes inclinaciones. Para poner gran cantidad de detalles, yo lo haría en verdadero 3D, usando terreno generado con mapas de alturas, los objetos podrían ser modelos tridimensionales, pero para simplificar, se podrían usar srpites planos con diferentes altitudes.
1510
Preguntas y respuestas / Re:Para que sirve la funcion "THEN"
Diciembre 31, 2014, 03:49:49 AM
No es una función, es una palabra clave que se usa en la construcción if. Indica lo que se va a ejecutar cuando la condición es verdadera. No es indispensable usarla, se puede suprimir y no afecta en nada, sólo hace que el código se lea como un lenguaje más humano. Ejemplo:
[gml]
if( /*condición*/ ) //si condición...
then // entonces...
{ /*ejecutar un código*/ }
else //si no...
{ /*ejecutar otro código*/ }
[/gml]
[gml]
if( /*condición*/ ) //si condición...
then // entonces...
{ /*ejecutar un código*/ }
else //si no...
{ /*ejecutar otro código*/ }
[/gml]
1511
Preguntas y respuestas / Re:Movimiento solo de arrastre
Diciembre 30, 2014, 05:57:43 PM
Este artículo te va a ayudar: http://www.inventati.org/estupidezartificial/web/papers/swipe_full.html
1512
Preguntas y respuestas / Re:funcionalidad para destruir los bloques de un solo color
Diciembre 30, 2014, 05:55:03 PM
Esto puede darte ideas: http://www.inventati.org/estupidezartificial/web/papers/linea.html
1513
Preguntas y respuestas / Re:alguien me ayuda a que los enemigos me disparen?
Diciembre 30, 2014, 05:40:00 PM
Aquí se hizo una explicación de un código para hacer algo parecido:
http://www.comunidadgm.org/general/podcast-game-maker-capitulo-1-(nuevo!!)/
Esto de lo que más se pregunta en el foro, escribe "distancia" en el buscador y vas a encontrar muchos temas relacionados.
http://www.comunidadgm.org/general/podcast-game-maker-capitulo-1-(nuevo!!)/
Esto de lo que más se pregunta en el foro, escribe "distancia" en el buscador y vas a encontrar muchos temas relacionados.
1514
Preguntas y respuestas / Re:¿Como ocultar el ratón desde GML?
Diciembre 30, 2014, 05:56:32 AM
Existen dos métodos; uno es usar este código
[gml]window_set_cursor( cr_none );[/gml]
el otro es abrir el menú Recursos --> Change Global Game Settings --> pestaña Windows --> y desmarcar la casilla Display the cursor.
[gml]window_set_cursor( cr_none );[/gml]
el otro es abrir el menú Recursos --> Change Global Game Settings --> pestaña Windows --> y desmarcar la casilla Display the cursor.
1515
Preguntas y respuestas / Re:Perform events
Diciembre 29, 2014, 03:15:23 PM
Puedes usar un script que defina sólo las variables que se necesitan, que tenga como argumento el id de la nueva instancia creada.