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

1
Ok, ya encontré el problema. Sólo tenía que cambiar en opciones de Android de Keep aspect ratio a Full scale. Con la primera opción la room se centra autómaticamente en el centro de la pantalla.
Tan sencillo como eso... :-[
2
Hola, tengo un juego terminado para portar a Android. La mayoría de rooms son de 400x400. Tengo configurado el xport con el mismo tamaño y el juego se ejecuta tanto en modo vertical como horizontal en medio de la pantalla del dispositivo. Lo que quiero es que si por ejemplo, el juego se ejecuta con la pantalla en vertical, la room quede pegada a la parte de arriba, en lo que se supone que serían las coordenadas 0,0. Pero parece que GMS centra automáticamente la application_surface en el centro por defecto y no encuentro cómo cambiarlo. ¿Alguna idea?
3
Por aquí otro al que le costó comprenderlo también.  :'( Y los ejemplos que suele poner la gente no suelen ayudar, porque te meten las misma variable "i" en las acciones y puede confundir.

Piénsalo de esta forma:
Si tenemos for (variable=0; variable<10; variable+=1)'
Significa que cuando la variable sea 0, se le va a sumar 1 mientras sea menor que 10.

Pero tienes que tener en cuenta que todo esto se hace en un solo step. Osea, que en un sólo step, la variable habrá tenido los 10 valores (0,1,2...9), habrá llegado al 10 y habrá salido del bucle.
4
Cita de: Clamud en Marzo 03, 2015, 07:09:23 PM
Yo lo implementé usando una lista y tiles, en este caso las tiles convienen porque usan menos memoria y menos procesador que los objetos:
[gml]
///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)
[/gml]
[gml]
///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
[/gml]
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.

Increíble. Es justo lo que quería. Justamente estaba leyendo sobre las listas porque no las conocía.
Decirte que me ha venido al pelo y que funciona de maravilla.
Al final he agrupado todo en un mismo objeto persistente (la parte que borra los cuadrados la he puesto en el evento "room start")  que elimino junto con la lista cuando termina de limpiar la pantalla.

Tengo una duda. Lo entiendo en su mayoría, pero si no tienes inconveniente me gustaría que me aclararas esta parte:

Citarx = (z mod 20) * 20; //determinar una posicon a partir del numero
        y = (z div 20) * 20;

"mod" es el resto de la división ¿verdad?
Sé que es la parte más importante pero no consigo entenderla del todo.  :(

De todas formas, muchas gracias por tu ayuda. Subiré un gif para que veais el resultado.
Un saludo.

5
Buenas, a ver si me podéis echar una mano porque no doy con la solución. Estoy con  :GM8: y creo que lo puedo hacer con arrays, pero no me termino de aclarar.

Quiero crear una transición o cortinilla entre fases que llene la pantalla de cuadrados negros hasta dejarla negra completamente.
La view es de 400x400. Y los cuadrados negros de 20x20. Habría que generar 400 cuadrados con una determinada velocidad sin repetir posición, hasta que se llenara la view por completo.
Y luego en principio, sería el proceso contrario, ir eliminándolos hasta dejar la pantalla limpia.

La idea es terminar la fase. Empezar a llenar la view con cuadrados. Y cuando esté negra completamente cambiar de room, para luego ir limpiando la pantalla de cuadrados con la room nueva debajo.
Espero haberme explicado bien...


6
Cita de: Masterkey en Mayo 18, 2011, 02:28:57 AM
Lo hice de una manera sencilla, te la explico:

creas una variable global.pausa, luego al presionar el bot?n de pausa establecemos la variable global.pausa=1; y por ?ltimo antes de las acciones de movimiento se usa el if pausa=0{acciones}

Ok, gracias. Ya me imaginaba que podr?a hacerse as? tambi?n.
?Gracias otra vez compa?ero!
7
Cita de: Masterkey en Enero 26, 2011, 11:19:27 PM
Nada funciona T.T pero voy a intentar por otros medios, por ejemplo una variable que impida que los zombies camines etc... Pero gracias por ayudar. EDITO: Fu? m?s f?cil de lo que cre? xD ya est? solucionado.

?Al final c?mo resolviste el problema compa?ero? Tengo un plataformas semejante, en el que el personaje principal se encuentra con personajes secundarios que le hablan, y quiero que, por lo menos el protagonista, no pueda moverse cuando le hablan.
8
Preguntas y respuestas / Re: Barra de tiempo
Mayo 04, 2011, 06:59:10 PM
Cita de: MatuX en Mayo 04, 2011, 06:02:19 PM
ac? te dejo un ejemplo sencillo espero que te guste

Gracias compa?ero, en cuanto llegue a casa lo miro. ?En qu? consiste exactamente?
9
Preguntas y respuestas / Barra de tiempo
Mayo 04, 2011, 04:53:51 PM
Hola compa?eros de gremio.
Ante todo agradeceros de ante mano la labor que hac?is echando una mano a los que, como yo, estamos tan perdidos.  ;D

Es mi primer post y mi primer juego con GM8Pro.
Os pongo en materia:
Tengo en ciernes un juego casi terminado (a falta de dise?ar los niveles) en el que el jugador corre contra el reloj para terminar la fase. Pero quiero que el tiempo se refleje en la pantalla mediante una barra que se consume. Cada pantalla tendr? un tiempo distinto claro, pero la barra ser? la misma en tama?o y color.
No s? por d?nde cogerlo porque en temas de tiempo con GM no estoy muy puesto.
?Alguna idea? ?Necesitar? alg?n script?

Un saludo!