Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Clamud

Páginas: 1 ... 111 112 113 114
1681
Preguntas y respuestas / Re:Como crear un score de monedas?
« en: Junio 21, 2014, 04:47:21 pm »
Simplemente necesitas definir una variable global.
Al inicio del juego pones:
Código: [Seleccionar]
global monedasY cuando necesites modificar la variable haces esto:
Código: [Seleccionar]
global.monedas = algoLa variable conservará su valor aunque cambies de room.

1682
Preguntas y respuestas / Re:[3D] Suelo/Terreno + Colissiones
« en: Junio 18, 2014, 08:22:54 pm »
Hola

Uno de los métodos mas utilizados para generar terreno es deformar una cuadrícula usando "mapas de alturas". En el foro de YoYo Games puedes encontrar varios ejemplos de eso.

Yo me he basado en el ejemplo que dejo adjunto para hacer algunos terrenos. El terreno es generado a partir de una imagen, donde la altura de cada punto se basa en la brillantez de cada pixel, pero hay que tener en cuenta que el proceso de generación es muy tardado porque se emplea la función draw_getpixel() que de por si es muy lenta. Los valores de las alturas se guardan en una matriz (que en GM le llaman "grid", es conveniente leer las sección del manual sobre "Data Structures"). La matriz se puede exportar y cargar el el juego, para no tener que usar la imagen original.

El mapa de alturas se puede dibujar a mano en cualquier programa de edición de imágenes, o puedes usar algunos programas especialmente diseñados para crear mapas de alturas. Aquí hay dos ejemplos:
http://www.earthsculptor.com/
http://www.bundysoft.com/L3DT/
Son gratis, y además ayudan a generar la textura.

También es importante que aprendas a utilizar las funciones que aparecen el la sección "Creating Models" del manual de GM.

Espero que te sirva la información.

1683
Preguntas y respuestas / Re:Problema con código de GML
« en: Junio 13, 2014, 10:25:36 pm »
Sólo cambia ésto
operation: smaller than

1684
Preguntas y respuestas / Re:Usar un mando.
« en: Junio 13, 2014, 04:58:53 pm »
Hola Marth

No todos los mandos son iguales, así que la posición y numeración de los botones puede variar entre modelos y marcas. Para saber qué números están disponibles puedes ver los detalles del controlador del mando, o hacer un pequeño programa en GM como éste:
//Numero total de botones (del joystick 1)
botones = joystick_buttons(1);

//Ver el botón presionado
for( i=1; i<= botones; i+=1 )
{
    if( joystick_check_button(1,i) ) draw_text(0,0,string(i));
}
El código anterior debe ir en el evento Draw.

Hace tiempo hice un script para detectar presión y liberación de los botones:
// Asignación de botones
left   = ( keyboard_check(vk_left)  || (joystick_xpos(1) <= -0.5)  );
right  = ( keyboard_check(vk_right) || (joystick_xpos(1) >= 0.5)   );
up     = ( keyboard_check(vk_up)    || (joystick_ypos(1) <= -0.5)  );
down   = ( keyboard_check(vk_down)  || (joystick_ypos(1) >= 0.5)   );
jump   = ( keyboard_check(ord('X')) || joystick_check_button(1,3)  );
attack = ( keyboard_check(ord('Z')) || joystick_check_button(1,4)  );
pause  = ( keyboard_check(ord('S')) || joystick_check_button(1,12) );

// Izquierda o derecha, pero no ambas
if(left && right) {left = 0; right = 0;}

// Presión de los botones
left_press   = (left && !left_prev);
right_press  = (right && !right_prev);
up_press     = (up && !up_prev);
down_press   = (down && !down_prev);
jump_press   = (jump && !jump_prev);
attack_press = (attack && !attack_prev);
pause_press  = (pause && !pause_prev);

// Liberación de los botones
left_release   = (!left && left_prev);
right_release  = (!right && right_prev);
up_release     = (!up && up_prev);
down_release   = (!down && down_prev);
jump_release   = (!jump && jump_prev);
attack_release = (!attack && attack_prev);
pause_release  = (!pause && pause_prev);

// Estado previo de los botones
left_prev   = left;
right_prev  = right;
up_prev     = up;
down_prev   = down;
jump_prev   = jump;
attack_prev = attack;
pause_prev  = pause;
El script debe ejecutarse en cada step, y las variables "prev" deben inicializarse a cero en el evento Create.

1685
Preguntas y respuestas / Re:Error visualización al mover sprites
« en: Junio 12, 2014, 07:32:37 pm »
Hola, en el editor del room, en la pestaña backgrounds, debes marcar la opción Draw background color.

1686
Preguntas y respuestas / Usar niebla en objetos transparentes
« en: Junio 12, 2014, 01:21:44 am »
Hola comunidad

Estoy haciendo un juego en 3D en el que aparecen pequeños planetas con sus respectivas atmósferas. Estoy usando una esfera para representar la atmósfera y todo se dibuja con niebla menos el fondo de estrellas. Éste es el código que uso para dibujar la atmósfera:
draw_set_blend_mode_ext( bm_src_color, bm_inv_src_color );
draw_set_color( c_black );
d3d_set_fog( true, $226644, 0, 400 );
d3d_model_draw( mdAtmosfera, 0,0,0, -1 );
draw_set_blend_mode( bm_normal );
y éste es el resultado:

De ésta forma he conseguido que se vea un tenue degradado, y que ese degradado cambie dependiendo de la posición y ángulo de la cámara.

El problema es que con éste método no se puede lograr que el color de la atmósfera sea completamente opaco, a menos que sea de color blanco.

¿Existe alguna forma de hacer el objeto transparente y que se sólo se vea la niebla sobre el objeto?

Gracias por la ayuda.

1687
Hola, se me ocurren varias formas de hacer eso:

La primera es usar el evento Boundary View, y poner ahí x = xprevious;

La segunda es definir una distancia máxima entre los dos objetos, si la distancia se hace mayor a la distancia máxima la variable x de los objetos debe cambiarse sumando o restando (distancia_max - distancia)/2.

Otra forma es revisar la posición relativa de los objetos en la View (la posición relativa se obtiene con pos_rel = x - view_xview;). Por ejemplo el objeto de la izquierda puede tener este código if( pos_rel < borde ) x = view_xview + borde;, tu decides cual es el tamaño del borde.

Espero que te ayude.
(No olvides poner el icono para este post)

1688
Intercambio / Re:Propuesta
« en: Junio 10, 2014, 11:04:50 pm »
Saludos.

Me interesa participar en el proyecto, me ofrezco como programador.

1689
Juegos completos / Re:Blind Typer
« en: Mayo 30, 2014, 05:58:51 am »
Excelente juego, con varios puntos a su favor:
- Es amigable con las personas invidentes.
- Nos ayuda a practicar Inglés.
- Invita a ser ágil con el teclado.

Que agradable es ver un juego que aporta algo a la sociedad.

Encontré 2 bugs:
- En el juego de las flechas, a veces se escucha el sonido de error aunque la dirección sea correcta.
- Y en el juego de presionar letras, en el nivel 5, el texto de abajo no se ve completo (aunque eso tiene que ser insignificante en un juego en el que no debes ver).

1690
Juegos en desarrollo / Re:Proto Hardgame [BETA][PC]
« en: Mayo 28, 2014, 04:03:36 am »
Buen juego, pero creo que es demasiado difícil para llegar a ser realmente adictivo.

Pude llegar hasta donde cambia la gravedad, con 30 intentos, después hice otros 10 intentos, de ahí ya no pude pasar.
Me gustaría que la bola quedara más a la izquierda para tener mayor rango de visión, y tal vez sería bueno tener un contador de tiempo o de distancia para saber cuánto has avanzado.

1691
El problema es que en GM8 no se puede usar el evento Draw GUI, entonces se tiene que usar un poco de trigonometría.
He dejado un ejemplo, puedes desplazar la vista con las flechas y girar con xz. Revisa el código que está en el objeto obPeonNegro.

Hubo dos cosas que me confundieron, la primera es que la vista gira respecto a su centro (a diferencia de los sprites que giran respecto a su origen) y la segunda es que el eje "y" en GM está invertido, pero con algunas pruebas y errores logré resolver el problema.

Respecto a tu ejemplo noté algo que podría causar problemas (a menos que lo hayas planeado así); en cada evento Step haces que las coordenadas de la View sean las mismas que las de la nave1, pero la vista tiene un borde alrededor de ese objeto, entonces cuando se van a dibujar los objetos la vista cambia de posición para respetar el borde.

Espero que sea entendible.

1692
Intercambio / Busco árboles 3D
« en: Mayo 26, 2014, 01:26:18 am »
Alguien sabe dónde puedo conseguir modelos tridimensionales de árboles con el formato de GM o .obj. De preferencia que se vean bien desde arriba.
Gracias de antemano por la ayuda.

1693
Preguntas y respuestas / Re:ayuda
« en: Mayo 23, 2014, 07:23:58 pm »
Model Creator. Éste programa sirve para crear modelos compatibles con GM. Aquí está una versión traducida:
http://www.comunidadgm.org/juegos-completos/model-creator-esp-(utilidad-3d)/
O puedes visitar la página oficial:
http://www.maartenbaert.be/model-creator/

1694
Desarrollo de Scripts / Re:Distorsionar sprites
« en: Mayo 23, 2014, 06:59:28 pm »
Buen efecto, y lo lograste con un programa extremadamente corto... es una obra de arte!

1695
Preguntas y respuestas / Re:Ayuda con Power UP !!
« en: Mayo 22, 2014, 07:36:10 am »
Creo que ahora entiendo mejor lo que quieres hacer. Al conseguir el power-up la nave cambia de sprite y dispara balas más grandes, pero el efecto es momentáneo y cuando el contador de la alarma llega a cero la nave regresa a la normalidad.

Yo usaría un objeto en vez de dos:
  • Al obtener el power-up
powerup = true; //ésta variable indica qué tipo de bala disparar
sprite_index = spr_nave_power_up;
alarm[1] = numero;
  • Cuando se activa la alarma
powerup = false;
sprite_index = spr_nave;
[/list]

¿Qué opinas?

Páginas: 1 ... 111 112 113 114