Hola,
Como puedo hacer para mostrar mi puntuacion al final de una pantalla, progresivamente? Es decir, si mi puntuacion final es global.puntuacion=1500,
me gustaria que se mostrara asi: 0100, luego 0200, luego 0300....hasta 1500
El (pseudo)codigo es:
Desde un script creo este objeto: instance_create(x,y,obj_control_bonus)
OBJETO: obj_control_bonus
EVENT CREATE: global.timer_cm=90; //Es una variable para usar alarma (sin importancia para este caso)
EVENT DRAW:
if global.timer_cm <0
for ( i=0, i!= puntuacion, i+=100)
//aqui hago la conversion de int a string
draw _text(100,100,i);
El caso es que me muestra la puntuacion como solapada, como si no se actualizase el refresco de pantalla.
Alguna sugerencia o code snippet?
Gracias de antemano.
Te adjunto un ejemplo. Espero que sea lo que busques.
Si no comprendes del todo c?mo funciona el c?digo p?deme las explicaciones necesarias, lo que importa es que lo entiendas para que puedas modificarlo a tu gusto.
Muchas gracias Hackware, muy ingenioso ;) Creo entiendo todo, Lo que haces es ir restando al puntaje final lo minimo entre la adicion y el resto, y lo vas mostrando, algo asi como "recursivamente".
Ya puestos en el tema y si no es mucho pedir, estoy tratando de que el contador sea un poco mas lento, es decir, que no muestre tan rapido la puntuacion. He tratado de poner un timer por gml(alarma) pero la imagen desaparece cada vez que no se cumple la condicion, mostrandose intermitentemente el puntaje final:
[gml]global.timer_control_bonus -=1;
if global.timer_control_bonus < 0{
sumado+=min(adicion,puntaje-sumado);
draw_text(room_width/2,room_height/2,string(sumado));
global.timer_control_bonus=1;
}[/gml]
Alguna posible solucion ? -_-
Cita de: ander_bg en Septiembre 24, 2010, 02:39:44 AM
Muchas gracias Hackware, muy ingenioso ;) Creo entiendo todo, Lo que haces es ir restando al puntaje final lo minimo entre la adicion y el resto, y lo vas mostrando, algo asi como "recursivamente".
...no. :'(
?Probaste a ver que pasaba si cambiabas los dos valores al principio? :-\
El primero (el
puntaje final) es el valor m?ximo posible para el
sumado (lo que se dibuja) y el segundo (la
adicion) es lo que se suma/adiciona en cada step al
sumado. Si ingresas un valor menor para la
adicion tardar? m?s en "llenar" el
sumado (que nombrecido tan currado, ni yo me entiender?a XD).
Otra opci?n es el uso de alarmas, para lo que tendr?as que mover el...
[gml]sumado+=min(adicion,puntaje-sumado);[/gml]
a la alarma que desees usar.
Prueba con lo primero, sino te funciona te hago un ejemplo de lo segundo. Y c?mbiale los nombres a las variables porque la verdad no s? d?nde ten?a la cabeza. XD
?Saludos!