No hay una función en GMS para eso, tal vez se puede con una extensión, pero creo que no es bueno forzar al jugador a usar un brillo de pantalla determinado (tal vez es sensible al brillo de la pantalla o quiere ahorrar batería).
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.
662
Preguntas y respuestas / Re:[Consulta] ¿Que me recomiendan para empezar un RTS en GMS?
Julio 07, 2017, 01:42:25 AM
Hacer un RTS es muy difícil, deberías comenzar con algo más sencillo, pero si quieres continuar estudia sobre pathfinding.
663
Preguntas y respuestas / Re:Rooms Conectadas de Manera Aleatoria
Julio 07, 2017, 01:37:31 AM
El código es más fáicl si se diseñan todas las rooms para conectarse entre sí, de forma que no exista la posibilidad de quedar atorado al cambiar de room.
El primer paso es guardar los identificadores de las rooms en una lista o en un array. Se puede hacer manualmente o de forma automática con un script como este: http://www.gmlscripts.com/script/map_rooms
Esta es una versión modificada que usa una lista, en tu versión no debes agregar las rooms que no son niveles de juego:
[gml]
///list_rooms( list_id );
var lista, i; //variables locales
lista = argument0; //lista a usar
i = room_first; //primera room en el arbol de recursos
while room_exists(i) { //mientras hay rooms que agregar
ds_list_add( lista, i ); //agregar room
i = room_next(i); //siguiente en el arbol de recursos
}
[/gml]
Esta sería la forma de usar el script:
[gml]
global.rooms = ds_list_create();
list_rooms( global.rooms );
[/gml]
Después agrega rooms aleatorias a un array 2D y coloca al personaje en una de esas celdas, supongamos que el mundo mide 11x11 rooms:
[gml]
randomize(); //semilla aleatoria
global.n = ds_list_size( global.rooms ); //numero de rooms
for( i=0; i<11; i+=1 ) // 11 x 11
for( j=0; j<11; j+=1 )
{
global.mundo[i,j] = ds_list_find_value //room
( global.rooms, irandom(global.n) ); //aleatoria
}
//coordenadas en el mundo
global.x_mundo = 5;
global.y_mundo = 5;
//coordenadas en la room que sigue
global.x_sig = 123;
global.y_sig = 123;
//ir a la siguiente room
room_goto( global.mundo[ global.x_mundo, global.y_mundo ]);
[/gml]
En el evento Create o en Room Start mueve el personaje a las coordenadas indicadas anteriormente:
[gml]
x = global.x_sig;
y = global.y_sig;
[/gml]
En el evento Step del personaje debes revisar si se sale de la room y por dónde (izquierda, derecha, arriba o abajo). En cada caso se debe ejecutar un código diferente:
[gml]
//si sale por la izquierda
global.x_mundo -= 1; //room a la izquierda
global.x_sig = room_width; //entra por la derecha
room_goto( global.mundo[ global.x_mundo, global.y_mundo ]);
[/gml]
El primer paso es guardar los identificadores de las rooms en una lista o en un array. Se puede hacer manualmente o de forma automática con un script como este: http://www.gmlscripts.com/script/map_rooms
Esta es una versión modificada que usa una lista, en tu versión no debes agregar las rooms que no son niveles de juego:
[gml]
///list_rooms( list_id );
var lista, i; //variables locales
lista = argument0; //lista a usar
i = room_first; //primera room en el arbol de recursos
while room_exists(i) { //mientras hay rooms que agregar
ds_list_add( lista, i ); //agregar room
i = room_next(i); //siguiente en el arbol de recursos
}
[/gml]
Esta sería la forma de usar el script:
[gml]
global.rooms = ds_list_create();
list_rooms( global.rooms );
[/gml]
Después agrega rooms aleatorias a un array 2D y coloca al personaje en una de esas celdas, supongamos que el mundo mide 11x11 rooms:
[gml]
randomize(); //semilla aleatoria
global.n = ds_list_size( global.rooms ); //numero de rooms
for( i=0; i<11; i+=1 ) // 11 x 11
for( j=0; j<11; j+=1 )
{
global.mundo[i,j] = ds_list_find_value //room
( global.rooms, irandom(global.n) ); //aleatoria
}
//coordenadas en el mundo
global.x_mundo = 5;
global.y_mundo = 5;
//coordenadas en la room que sigue
global.x_sig = 123;
global.y_sig = 123;
//ir a la siguiente room
room_goto( global.mundo[ global.x_mundo, global.y_mundo ]);
[/gml]
En el evento Create o en Room Start mueve el personaje a las coordenadas indicadas anteriormente:
[gml]
x = global.x_sig;
y = global.y_sig;
[/gml]
En el evento Step del personaje debes revisar si se sale de la room y por dónde (izquierda, derecha, arriba o abajo). En cada caso se debe ejecutar un código diferente:
[gml]
//si sale por la izquierda
global.x_mundo -= 1; //room a la izquierda
global.x_sig = room_width; //entra por la derecha
room_goto( global.mundo[ global.x_mundo, global.y_mundo ]);
[/gml]
664
Preguntas y respuestas / Re:timeline_moment_add_script
Julio 05, 2017, 08:15:59 PM
Si está en el evento Step debes quitar esto timeline_position = 0;
665
Preguntas y respuestas / Re:AUDIO 3D en Android
Julio 05, 2017, 07:05:42 PM
Tal vez solo funciona con auriculares.
666
Preguntas y respuestas / Re:timeline_moment_add_script
Julio 05, 2017, 06:57:17 PM
¿El primer bloque de código se ejecuta en Create?
667
Preguntas y respuestas / Re:Como limitar el wall jump
Julio 02, 2017, 02:37:15 PM
En la mayoría de juegos con wall jump, además de asignar la velocidad vertical también se asigna la velocidad horizontal de modo que es difícil regresar al mismo muro sin tocar el muro que está al otro lado.
668
Preguntas y respuestas / Re:Necesito ayuda con un Efecto Parallax Scrolling
Julio 02, 2017, 02:32:04 PM
Puedes sumar un valor para que se desplace hasta donde se necesita.
[gml]
background_y[2] = view_yview[0] * 0.7 + algo;
[/gml]
[gml]
background_y[2] = view_yview[0] * 0.7 + algo;
[/gml]
669
Preguntas y respuestas / Re:como poner estos codigos para gamemaker 8.1
Julio 02, 2017, 02:05:22 PM
La función cambia el volumen de uno de los sonidos en el árbol de recursos, por ejemplo, si bajas el volumen de un recurso llamado snd_disparo, sonará con bajo volumen las próximas veces que se reproduzca, los demás sonidos no se alteran. Para modificar el volumen de todos los sonidos usa sound_global_volume(value).
670
Preguntas y respuestas / Re:Como hacer soporte para controles
Julio 02, 2017, 01:44:33 PM
Por lo menos esto está en español
http://www.dazlog.com/manual_GM/El_joystick.htm
http://www.dazlog.com/manual_GM/El_joystick.htm
671
Preguntas y respuestas / Re:como poner estos codigos para gamemaker 8.1
Junio 30, 2017, 10:56:29 PM
http://www.dazlog.com/manual_GM/Funciones_basicas_de_sonido.htm
Para cambiar el volumen debes usar sound_volume( index, value ).
:GM8: no trae funciones para pausar sonido, pero puedes usar una extensión (http://gmtoolbox.com/).
Para cambiar el volumen debes usar sound_volume( index, value ).
:GM8: no trae funciones para pausar sonido, pero puedes usar una extensión (http://gmtoolbox.com/).
672
General / Re:BUSCO COLABORADORES PARA CREAR UN VIDEOJUEGO
Junio 30, 2017, 10:44:24 PM
Yo intenté participar el año pasado, pero no terminé el juego. Podría crear algunos sprites, pero lo que mejor se hacer es programar. Me gustaría hacer equipo con un buen programador y con un buen escritor.
673
Preguntas y respuestas / Re:Como cambio el icono del ejectable en gamemaker Studio
Junio 28, 2017, 09:01:25 PM
Abre la ventana de Global Game Settings, desde el árbol de recursos o desde el menú Resources -> Change Global Game Settings. Hay una pestaña para cada plataforma de compilación, ahí se pueden cambiar los iconos y las imágenes de fondo cuando carga.
674
Preguntas y respuestas / Re:Como arrastrar objetos con el mouse en un juego 3D
Junio 28, 2017, 06:38:20 AM
Podemos empezar con elgir cómo se orienta la cámara. Se usan dos métodos:
1. Indicar la posición (xfrom,yfrom,zfrom) y el punto al que mira (xto,yto,zto).
2. Indicar la posición y dos ángulos; uno de los ángulos es la dirección de la cámara en el plano horizontal y el otro ángulo es la inclinación en un plano vertical. Esos ángulos tienen muchos nombres, pero podemos usar los de la imagen (pitch y jaw). De todas formas se debe calcular el punto (xto,yto,zto) para usarlo en la función de proyección.

Después se debe encontrar un sistema de coordenadas locales de la cámara, luego convertir las coordenadas del mouse en un vector en el espacio de la cámara, ese vector se debe convertir a un vector en coordenadas de la escena y por último proyectar el vector en los objetos o en el piso. Agregaré esa información en futuros mensajes.
1. Indicar la posición (xfrom,yfrom,zfrom) y el punto al que mira (xto,yto,zto).
2. Indicar la posición y dos ángulos; uno de los ángulos es la dirección de la cámara en el plano horizontal y el otro ángulo es la inclinación en un plano vertical. Esos ángulos tienen muchos nombres, pero podemos usar los de la imagen (pitch y jaw). De todas formas se debe calcular el punto (xto,yto,zto) para usarlo en la función de proyección.

Después se debe encontrar un sistema de coordenadas locales de la cámara, luego convertir las coordenadas del mouse en un vector en el espacio de la cámara, ese vector se debe convertir a un vector en coordenadas de la escena y por último proyectar el vector en los objetos o en el piso. Agregaré esa información en futuros mensajes.
675
Preguntas y respuestas / Re:ESCONDERSE TRAS LA CAJA Y NO SER VISTO
Junio 28, 2017, 06:07:05 AM
Podrías cambiar de posición el extremo de la línea. Si el personaje está agachado, el extremo es (x,y), y si está de pie, el extrem es (x,y-10).