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 - penumbra

2191
A un script le puedes pasar argumentos y puede devolver un valor

El script está pensado para realizar una tarea muy precisa y ser reutilizable.
2192
Preguntas y respuestas / Re:¿Como llamar un proceso?
Febrero 16, 2013, 12:29:47 AM
Lo que tu quieres hacer es usar un script. Si quieres crear un script, haces click en el botón CREATE A SCRIPT, se abre el editor de script, donde escribes el código. Fíjate que en la parte superior del editor, hay un campo para ponerle un nombre a tu script.

Imagina que haz creado tu script, y le pusiste llamar_a_pepito

Cuando quieras usar tu script, lo llamas así
llamar_a_pepito()

esto hace que se ejecute el código de tu script. Pero lo bonito de los scripts es que le puedes pasar argumentos al script. Es decir, que al momento de llamarlo, puedes proporcionarle información adicional para que procese esa información como tú quieras. Por ejemplo, esto

llamar_a_mi amigo(51245987)

Es decir, le estás pasando información al script (el número de algún amigo). El script hará con ese número (puede ser tambien una variable) lo que tú hayas dispuesto en el código. A ese número entre paréntesis, se le llama argumento. Le puedes pasar hasta 16 argumentos a un script.

Dentro del script (el código del script), tú no te refieres al número de tu amigo como "51245987", ya que el script lo puedes usar para llamarle a quien quieras, dentro del script, a ese argumento lo llamasargument0. Si le pasas tres argumentos a tu script, te referirás a ellos como argument0, argument1 y argument2

Espero que se entienda  ;D

2193
Es una expresión para averiguar si no hay colisión con un objeto sólido. Si antes le agregas un IF, quedaría if  place_free(x,y+1). Esto vendría a significar algo como"Si se está en el aire", o más exactamente "Si un pixel abajo del sprite no hay objeto sólido"

De ti depende que hacer después, por ejemplo, ajustar la gravedad, la velocidad vertical, o permitir que el objeto se mueva en alguna dirección.

2194
Preguntas y respuestas / Re:beat 'em up
Febrero 12, 2013, 03:54:02 AM
Es que difícilmente vas a encontrar un tutorial "cómo hacer un clon de doble dragón". Además, siendo totalmente nuevo, un tutorial detallando todos los aspectos del juego seria muy pesado. Puedes cambiar tu enfoque, en lugar de decir "quiero hacer un doble dragón", mejor ponte como meta "quiero aprender las bases de GM", o "me voy a leer los tutoriales oficiales del GM"

Al completar los dos o tres primeros tutoriales del GM, seguro vas a tener una idea de por dónde comenzar a hacer tu juego estilo doble dragón. Ánimo  ;D
2195
Casualmente, en los últimos días he estado 'estudiando' qué tipografía se vería bien para mi juego. Todavía no me decido qué fuente usar, por lo que estoy haciendo varios sets de sprite fonts y a partir de ahí haré pruebas para ver cuál queda mejor en mi proyecto.

Yo en verdad he llegado a aborrecer la fuente COMIC, jamás la he usado ni la usaré para nada. No entiendo por qué casi todo mundo la usa.  La he visto hasta en la sopa, incluso en presentaciones serias en el colegio, manuales técnicos, etc.  A mi me parece realmente fea, si acaso utilizable para algún tipo de documento orientado al público infantil.   :-[

Bueno, perdón por sacar mis traumas. Volviendo a la fuentes, Arial o Times son muy usadas porque son fuentes hechas para hacer la lectura fácil. Yo te recomendaría no abusar de tipografías superadornadas, elaboradas o exóticas. Vienen bien para destacar un texto corto, o para el nombre del juego en la pantalla principal. Si tu juego tiene una cantidad considerable de texto, lo mejor es elegir algo sobrio que sea fácil de leer.

Ayudaría que mencionaras el tipo o estilo de juego que estás haciendo. Si te quieres alejar de la Arial o Times, estas son algunas tipografías en mi actual lista de candidatas:



Haciendo trabajos escolares, me he dado cuenta que soy partidiario de usar tamaños de fuente mas pequeños  que la mayoría. En mi monitor, estas fuentes se ven en tamaño pequeño, pero en otros monitores pueden verse más grandes por la diferencia de resolución  ;D
2196
Preguntas y respuestas / Re:Signo "||" en código.
Febrero 08, 2013, 05:51:16 PM
es otra manera de escribir el operador lógico "OR"

&& = and,
|| = or,
^^ = xor
2197
Preguntas y respuestas / Re:Fuentes con galera.
Febrero 06, 2013, 06:38:28 PM
CitarEdito: la imágen o subimágenes es un .gif? Cómo implemento las imágenes de las letras/números/signos?

Sí, puede ser un gif. Échale un vistazo al archivo adjunto, te sirve para crear el set de caracteres en imagen, elegir la fuente, tamaño, color, borde, sombra... en fin, trae muchas opciones (clik derecho sobre la ventana) para 'ponerle galera' a tus fuentes

EDITO: Lo malo, es que al estar en inglés, le faltan caracteres acentuados, la "ñ", y los signos de interrogación y exclamación iniciales (que no se usan en inglés), por lo que si quieres usar acentos como la ortografía del castellano manda, necesitas crear tu propia imagen manualmente. Ah, y tambien, tienes que respetar el orden en tu juego de caracteres. Por ejemplo, si deseas incluír la "ñ" (164), no puedes ponerla en seguida de la subimagen 127 (caracter no imprimible). Al menos tienes que meter subimágenes en blanco hasta llegar a la "ñ". Seguramente entre el caracter 127 y el 164, habrá otros caracteres que necesites usar, por lo que tendrías que "dibujarlos" en su subimagen correspondiente.
2198
Preguntas y respuestas / Re:Fuentes con galera.
Febrero 06, 2013, 04:05:05 AM
Perdón...¿Qué quiere decir 'con galera'?  :-[

Citarfont_add_sprite(spr,first,prop,sep) Agrega una nueva fuente y devuelve su índice.

spr (sprite) = es un sprite con tantas subimágenes como caracteres quieras incluír o usar. Los caracteres, o bien, las subimágenes con los caracteres, deben seguir el orden del codigo ASCII

first (caracter) = Es el primer caracter de todo el juego. Si vas a usar tu juego de caracteres para el marcador, para menús y mensajes, generalmente se usa el espacio ord(" ") ya que es el primer caracter imprimible de la tabla ASCII. Si solamente vas a usar la fuente para score (sólo números), sería ord("0")

prop (boleano) = Indica si la fuente es proporcional.

sep (entero) = Indica la separación entre caracteres. Generalmente se desactiva (-1) ya que a cada letra le dejas algunos pixeles como margen en tu sprite.

Se usaría más o menos asi

globalvar fuente_con_galera;
fuente_con_galera = font_add_sprite(spr_fuente, ord(" "), 0, -1);


hay que inicializar la fuente
draw_set_font(fuente_con_galera);

Lo anterior en CREATE Y listo, ya puedes usar las funciones de texto como de costumbre. Una lista de los primeros 128 caracteres ascii



Adjunto un ejemplo para GM 8.1 que encontré en YoYo (está en inglés)
2199
Bueno, yo no tengo errores de diseño en la creación de juegos, porque aun no completo mi primer juego  XD Ya veré que pifias cometi cuando salga a la luz.

En mi opinión personal, un error bastante común en los juegos de última generación, es el uso de la cámara (entorno 3d). Hay tomas que dificultan la vista y la toma de decisiones, casi parece que a propósito te complican la vista para que falles. Otra cosa que no me gusta, aunque no sé si es error, creo que más bien es cuestión de gustos, es el uso de las tipografías, por ejemplo, usar tipografías modernas o futuristas en juegos de temática medieval. Algo similar pasa a veces con el diseño de la barra de salud

Los juegos que tengo como ejemplos de buen diseño, serían los metalslug, los megaman, castlevania, top hunter, supermariobros3, que aunque no me gusta jugarlo, tiene una pinta impecable.



2200
Bueno, no conozco el juego. Ese tipo de trayectoria se llama tiro parabólico.

El usuario Mgbu desarrolló un ejemplo hace unos meses, el cual puede servirte

http://www.comunidadgm.org/index.php?topic=17647.0
2201
No sabía que se pudiera controlar el aspecto de lo que estaba fuera de la pantalla. Tengo mis dudas, pero si hay gente que dice que se puede, me imagino que lo han logrado

NO soy fan de ejecutar juegos 2D a pantalla completa, por lo que no he experimentado con esos ajustes en GM, lo que tengo entendido, es que los bordes negros laterales no son algo que quites y pongas activando un parámetro en la configuración de GM, sino que GM los activa cuando la relación de aspecto del juego y de el monitor no son iguales.

Digamos que si tu juego es 800X600, la proporción es 1.33. Si tu monitor tiene la misma proporción (1024X768, 1280X960,1400X1050, etc) y ejecutas el juego a pantalla completa, NO APARECERAN las barras negras. Pero creo que tu no quieres esto, tu quieres un marco negro alrededor de la ventana del juego, cosa que no sé cómo hacer.  XD
2202
Suena a que llegaste a los límites de Game Maker. Sombras dinámicas en tiempo real debe de ser demasiado, y  no cualquier PC podría correr tu juego, o correría muy forzado. ¿Puedo preguntar qué tipo de juego tienes en mente?
2203
Grafismo & Composición / Re:Eliminar un enemigo.
Enero 18, 2013, 05:00:44 AM
OK.Mi propuesta, bastante dramática o exagerada (porque no sé de qué va tu juego)

1. Hacer que el cadaver se descomponga (claro, en tiempo rápido, que se vaya consumiendo, quedar en huesos, y luego hecho polvo, y que el polvo se disperse)

2. Undir el cadaver, como si la tierra se lo fuera tragando.

EDITO: Jaja, no había visto el sprite de granjero hasta después de responder. Creo que lo que sugerí no va con el estilo del granjero. Yo creo que es mejor hacerlo parpadear y desaparecer, o  que salte y luego salga de la pantalla por abajo, como si cayera.
2204
Grafismo & Composición / Re:Eliminar un enemigo.
Enero 18, 2013, 12:26:55 AM
¿Y por qué tendrías que "matar" al enemigo de acuerdo a la forma más popular o al gusto del público?

No vengo en plan de armar lío, es una pregunta con buena fé. Si no te convence nada de lo que conoces o has visto ahora, inventa tu propia manera de 'matar' un sprite. Lo que menciona D-jinn es muy cierto, es muy creativa la manera en que Alucard gira y se desangra cuando lo matan, antes de eso no había visto algo así. Seguro que el spriter se propuso hacer algo distinto.

Además, es imposible contestar tu pregunta, porque no das una pista sobre lo que puede encajar con tu juego. Imagina que la respuesta más popular es explosión, y que en mi juego de dispararle a patos, cada que mato a uno, explota. No encajaría en nada.


2205
Citarvspeed=vspeed + 8

eso se puede escribir asi vspeed += 8. Además ojo,

INNo sé si funcione, pero se me ocurre esto (a grandes rasgos)

En CREATE, pones   salto = 2

EN STEP pones



if !(place_free(x,y+4))    // siempre que haya contacto con el piso, tienes dos 'cargas' para lograr tu salto
{salto = 2}            // Tu sprite debe tener el origen en los 'pies' o hasta abajo.

if (salto > 0)                   // Asegurarse que tengas 'cargas' o 'poder' para saltar
{

if !(place_free(x,y+4)) and keyboard_check_pressed(ord('W'))   //salto cuando se está en en el suelo
{
vspeed = -8
salto -= 1                      //Restar 1 al contador de salto, porque ya usaste un salto
}

if (place_free(x,y+4)) and keyboard_check_pressed(ord('W'))    //segundo salto cuando se está en el aire
{vspeed = -8
salto -= 1                           //Restar 1 al contador de salto, esto lo dejaría en 0 y no permitiría más saltos a menos que toquesel suelo nuevamente

}

}



NOTA1: No sé si funcione, fue una idea rápida, tienes que adaptarlo a tu código, meterle gravedad si quieres, etc.

NOTA2: ME da la impresión que puse muchos IF separados, pero así queda más clara la idea. Posiblemente se puede reducir el número de IF's agregando "else".