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

676
Las funciones "potential" son lentas porque realizan muchas operaciones. Puedes usar la función mp_potential_settings para reducir el número de pruebas que se hacen en cada Step. Otra opción puede ser elegir algunos zombies como "líderes"; esos zombies se encargan de encontrar el camino y los demás siguen al lider más cercano.
677
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.
678
El problema es que se espera que el jugador oprima dos botones justo en el mismo frame, eso no siempre ocurre, por lo general un botón se presiona antes que el otro. Deberías revisar los botones durante varios frames (steps) antes de ejecutar la acción. Podría ser de esta forma:

1. Cuando se presiona un botón inicia un contador, si el contador llega al límite, se ejecuta la acción de ese botón.
2. Si el botón se libera antes de que el contador llegue al límite, también se ejecuta la acción del botón.
3. Si se detecta la presión del segundo botón antes de que el contador termine, se ejecuta la acción combinada.
679
De alguna forma GMS decide cuántos sonidos se pueden reproducir al mismo tiempo. Cuando se alcanza el límite, solo se reproducen los sonidos con mayor prioridad.
680
Tal vez GMS no convirtió el sonido correctamente. ¿Aparecen mensajes de error en la consola?
681
La dirección es relativa a la ubicación del ejecutable (o editable). Si quieres usar una carpeta debes poner la dirección así
[gml]
splash_show_video( "carpeta/intro.mpg", false );
[/gml]
682
Creo que la "application surface" se agregó en la versión 1.3.
Borra la línea, a ver si funciona.
683
¿Qué conceptos conoces? y ¿qué tipo de juego quieres hacer. Es importante que sepas usar un programa de modelado 3D y cómo funcionan las transformaciones lineales.
684
En :GM8: se puede usar la función splash_show_video
[gml]
splash_show_video( "intro.mpg", false );
[/gml]
685
Preguntas y respuestas / Re:Condicional de Sonidos
Junio 25, 2017, 12:14:05 AM
Puedes crear un sprite con todos los iconos como sub-imágenes, y un array con los identificadores de los sonidos en el mismo orden que las sub-imágenes
[gml]
sonidos[0] = snd_carro;
sonidos[1] = snd_piano;
sonidos[2] = snd_perro;
// ...
[/gml]

Después elegir un número y guardalo en una variable global
[gml]
global.index = 5;
[/gml]

Para reproducir el sonido elegido
[gml]
audio_play_sound( global.index, 1,0 );
[/gml]

En la room, coloca varias instancias que tienen asignado el sprite de los iconos, todos con image_speed = 0 y con diferente image_index. Una de las instancias debe tener el image_index que corresponde con sonido seleccionado. Eso se comprueba en el evento Left Pressed
[gml]
if( image_index = global.index ) room_goto( nivel2 );
[/gml]
686
http://www.comunidadgm.org/preguntas-y-respuestas/coordenadas-3d-del-mouse/ ahí hay un ejemplo, pero creo que es un poco complicado.
Da más información sobre tu juego, ¿sólo quieres mover los objetos en un plano?, ¿la cámara gira?, con la infrormación podemos encontrar el mejor sistema para tu juego.
687
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.
688
Entonces los gráficos siempre deben tener una relación 1:1 con los pixels de la pantalla. No es complicado de hacer. Lo recomendable es cambiar el tamaño de una vista y no el tamaño de la room.

En la ventana de propiedades de las rooms marca las casillas "Enable the use of Views" y "Visible when room starts", también ajusta el tamaño de la vista y del port.

En el evento Create de un objeto controlador guarda el tamaño original de la ventana
[gml]
/// Leer tamaño de ventana
w0 = window_get_width();
h0 = window_get_height();
[/gml]

En el evento Step revisa si el tamaño ha cambiado para ajustar la view
[gml]
/// Ajustar tamaño de la vista

w1 = window_get_width();
h1 = window_get_height();

if( w1<>w0 or h1<>h0 ) //si la ventana cambia
{
   view_wview[0] = w1; //cambiar vista
   view_hview[0] = h1;
   
   //ajustar application_surface al tamaño de la vista
   surface_resize( application_surface, w1,h1 );
   
   w0 = w1; //actualizar valores
   h0 = h1;
}
[/gml]

Hay un ejemplo adjunto. Se puede cambiar el tamaño de la ventana arrastrrando los bordes y cambiar a pantalla con pleta con Alt+Enter.
689
Parece ser un problema con los valores de las variables. ¿Qué valor le has asignado a buffer_seek_start?
690
Noticias / Re:Concurso Comunidad Game Maker 2016
Junio 21, 2017, 11:03:10 PM
Dentro de poco se realizará la jam GM48 edición 23. Podemos organizarnos para participar ahí.