Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

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 ... 14 15 16
226
Puedes controlar la variable path_speed. La ventaja es que la velocidad dentro de la path se define en pixels por step, igual que la velocidad normal.
Los siguientes usuarios dieron las gracias a este tema: kaliman777

227
Genial, me gusta tu solución, pero se puede simplificar pegando el caracter directamente en el código.
Nota: Para que GMS no genere mapas de bits de caracteres innecesarios, cambia el rango de caracteres con el botón "From Code".
Los siguientes usuarios dieron las gracias a este tema: Ashe de Freljord

228
¿En qué formato está el audio?
Revisa que no has activado el eco en los efectos de sonido.
Los siguientes usuarios dieron las gracias a este tema: Doddy

229
Preguntas y respuestas / Re:Pregunta anterior con algo diferente
« en: Mayo 31, 2017, 11:38:30 pm »
¿qué código usas para mover el enemigo?
Los siguientes usuarios dieron las gracias a este tema: Anibal9812

230
Esta es la explicación. A cada cuadro dentro de la matriz de 20x20 se le asigna un número de esta forma:

se van numerando de izquierda a derecha y de arriba a abajo, desde 0 hasta 399. Los números que están en la fila superior y en la columna de la izquierda son las coordenadas de los cuadros dentro de la matriz. Como la numeración está ordenada, es fácil saber las coordenadas de un cuadro a partir de su número asignado, por ejemplo, si tomamos el cuadro 42, si dividimos a mano 42 entre 20 tendremos 2 como resultado entero y 2 como residuo, [2,2] son las coordenadas del cuadro dentro de la matriz, esos resultados se obtienen con los operadores "div" y "mod". Para obtener la posición real del cuadro en la room hay que multiplicar esas coordenadas por 20.
Los siguientes usuarios dieron las gracias a este tema: Zapdos43

231
Yo lo implementé usando una lista y tiles, en este caso las tiles convienen porque usan menos memoria y menos procesador que los objetos:
///EVENTO CRAETE
global.l = ds_list_create(); //crear lista
for( i=0; i<400; i+=1 )
    ds_list_add( global.l, i ); //llenar con numeros desde 0 hasta 399
ds_list_shuffle( global.l ); //desordenar lista
i = 0; //contador de cuadros creados (se reutiliza la variable)
///EVENTO STEP: Llenar pantalla de cuadros
if( i < 400 ) { //si no se ha llenado
    repeat( 2 ) { //crear 2 cuadros
        z = ds_list_find_value( global.l, i ); //obtener un numero al azar
        x = (z mod 20) * 20; //determinar una posicon a partir del numero
        y = (z div 20) * 20;
        tile_add( bgCuadro, 0,0, 20,20, x,y, -1000 ); //agregar cuadro
        i += 1; //incrementar contador
    }
}
else room_goto_next(); //si se ha llenado, ir a room siguiente
La velocidad de la transición se puede aumentar usando un número mayor en el ciclo repeat.
En el ejemplo adjunto he puesto también el efecto contrario; borrar los cuadros.
Los siguientes usuarios dieron las gracias a este tema: Zapdos43

232
Preguntas y respuestas / Re:Problema al pulsar dos botones a la vez.
« en: Noviembre 18, 2014, 05:09:18 am »
Aquí va un pequeño tutorial:

Usando device_mouse
Vamos a suponer que cada tecla es un objeto. Lo primero es saber cuales son las coordenadas de las esquinas del objeto (suponiendo que es rectangular), puedes asignarle un sprite con origen en (0,0), entonces las coordenadas son:
x1 = x;
y1 = y;
x2 = x+sprite_width;
y2 = y+sprite_height;
Define las coordenadas en el evento Create. Luego, en cada step, checas si se ha pulsado con alguno de los cinco ratones (numerados de 0 a 4), entonces reproduces un sonido:
for( i=0; i<=4; i++ )
{
    if( device_mouse_check_button_pressed( i, mb_left ) )
    if( device_mouse_x(i) > x1 and devide_mouse_x(i) < x2 )
    if( device_mouse_y(i) > y1 and device_mouse_y(i) < y2 )
        audio_play_sound( nota, 0, false );
}
Tal vez sea necesario revisar que no está sonando la misma nota antes de reproducirla.

¿Que tal te funcionó? Luego explico el otro método

P.D. No repitas tantas veces el mismo tema, eso hace que el foro quede desorganizado, ten un poco de paciencia.
Los siguientes usuarios dieron las gracias a este tema: Dublan

233
Preguntas y respuestas / Re:Parallax con fondos de tiles
« en: Agosto 15, 2014, 10:55:52 pm »
Saludos

Al ver la imagen de el diseño de la room, pienso que te faltan hacer algunas cosas antes de poder utilizar "tiles"; lo primero es marcar la casilla que dice "Use as tile set" que aparece en la ventana "Background Properties" (para definir las características de las losas), y después en la ventana "Room Properties" debes entrar a la pestaña "tiles" para agregarlas a la room. Ya para hacer el efecto parallax debes usar la función tile_layer_shift.

Un consejo: conviene editar los mapas de tiles con el programa TilesetChampion (buscalo en el foro de YYG), para entender porqué lee el principio del tutorial "Resolution and scaling".
Los siguientes usuarios dieron las gracias a este tema: Zapdos43

234
Preguntas y respuestas / Re:vision 3d camara
« en: Mayo 10, 2014, 06:08:48 pm »
El efecto se puede hacer de dos formas.
En la primera no es necesario usar una proyección en 3D, solo debes usar diferentes escalas en los objetos y mover con mayor rapidez los objetos con mayor escala, de esa forma parece que están mas cerca. Lee un tutorial de efecto parallax.
La segunda forma es usar una proyección 3D, la proyección debe definirse en el evento Draw del objeto cámara antes que los demás objetos se dibujen, por eso el objeto cámara debe tener un valor de "depth" mayor al de los otros objetos, los otros objetos se dibujarán a diferentes alturas dependiendo de su variable "depth".

He subido dos ejemplos, usando los dos métodos.
En el segundo ejemplo puedes moverte usando x, z y las flechas.
Los siguientes usuarios dieron las gracias a este tema: Zapdos43

Páginas: 1 ... 14 15 16