Noticias

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

* Sponsor

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 ... 16 17 18
256
Creo que los pasos que debes seguir deben tener el orden inverso a como los escribiste. Primero deberías tener un sistema que detenga el movimiento de los personajes, se me ocurren estas opciones:

1. Si se detienen todos los objetos, podrías usar un sistema de pausa que han presentado varias veces en el foro; se trata de copiar la pantalla en una surface, desactivar las instancieas (instance_deactivate_all(notme);) y dibujar la surface.
2. Usar objetos que son estáticos y se convierten en los objetos originales al terminar el diálogo.
3. Que los personajes sean máquinas de estados, donde un estado está dedicado a los diálogos.
4. Usar una variable global que indique cuándo se debe usar el código de movimiento.

257
Preguntas y respuestas / Re:Hacer intro con vídeos o imágenes
« en: Junio 25, 2017, 10:22:14 pm »
La dirección es relativa a la ubicación del ejecutable (o editable). Si quieres usar una carpeta debes poner la dirección así
splash_show_video( "carpeta/intro.mpg", false );

258
Preguntas y respuestas / Re:Hacer intro con vídeos o imágenes
« en: Junio 25, 2017, 09:53:16 pm »
En :GM8: se puede usar la función splash_show_video
splash_show_video( "intro.mpg", false );

259
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.

260
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".

261
¿En qué formato está el audio?
Revisa que no has activado el eco en los efectos de sonido.

262
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?

263
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.

264
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.

265
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.

266
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".

267
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.

Páginas: 1 ... 16 17 18