Hola muchachos:
?C?mo har?a con c?dgo GML esta instrucci?n:
Si global.scor es igual a 100, dibujar los 100 y luego que decrezcan de 100 a 0 en 5 segundos.
Es decir que se vea una cuenta regresiva.
Espero su ayuda, gracias.
Seria asi:
[gml]if global.score=100
{draw_text(x,y,score)}[/gml]
Citary luego que decrezcan de 100 a 0 en 5 segundos.
Es decir que se vea una cuenta regresiva.
Deberias explicarte mejor en esta parte...quieres q dibuje la variable score o que dibuje un texto con la cantidad de la variable aparte??
Cita de: slampdesign en Febrero 11, 2011, 08:46:33 PM
Seria asi:
[gml]if global.score=100
{draw_text(x,y,score)}[/gml]
Citary luego que decrezcan de 100 a 0 en 5 segundos.
Es decir que se vea una cuenta regresiva.
Deberias explicarte mejor en esta parte...quieres q dibuje la variable score o que dibuje un texto con la cantidad de la variable aparte??
Slampdesign: me refiero a que una vez que est?n dibujados los 100 cr?ditos, empiecen a decrecer de 1 en 1 hasta que se vuelva 0. Debe ser algo como STEP: if...global.score-=1 hasta que llegue a cero.
Repito: una vez dibujada la variable ?c?mo la hago decrecer de 1 en 1 hasta 0?
Creas la variable regreso=0; entonces, en step:
if regreso=0 and score>=100 {regreso=1;}
if regreso=1 {
score-=1;
if score<=0 {score=0; regreso=0;}
}
as?, al llegar a 100 se activa la cuenta atr?s y, al bajar a cero, vuelve a la normalidad. Claro, aqu? baja 1 punto por step, 100 puntos, lo que equivalen a... si no tocaste nada de la room speed, 30 puntos = 1 sec, tardaria en llegar a cero unos 3 segundos y algo... y debe ser en 5 segundos. Dios, con reglas de 3 se calcularia...
30 puntos = 1 sec
100 puntos = x
x= 100/30= 3.33333333... Osea, de 1 en 1, se bajan 100 puntos en 3.3 segundos. Entonces, para que sea en 5 segundos..
5 segundos son 150 steps. As? que, x?150=100; x=100/150= 0.66666666.... bajando 0.66666... puntos por step en el codigo de arriba, en 5 segundos, llega de 100 a 0. Me hice un l?o haciendo reglas de 3 cuando era algo tan simple xD
Gracias DarkKRuleR: Andas muy h?bil con las Matem?ticas, je je. Aprobaste con 100%. Me gusta el c?digo, es sencillo y esperaba algo justo as?. Apliqu? tu c?digo y funka a mil, pero tengo un problemita extra:
Cuando se dibuja el score, lo reduce a 0, excelente pero al querer que el score global suba despacio, me sube hasta infinito sin detenerse. Es decir, al igual que lo ganado decrece quiero hacer lo contrario con lo que debe subir el score global.?c?mo lo detengo? Pongo aqu? el info del objeto.
[gml]Information about object: controla_score
Sprite: <no sprite>
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: <no parent>
Mask: <same as sprite>
Create Event:
execute code:
global.dinero=0;
global.ganado=0;
global.apuesta=0;
regreso=0;
conteo=0;
Step Event:
execute code:
if regreso=0 and global.ganado>=1 {regreso=1;}
if regreso=1 {
global.ganado-=1;
if global.ganado<=0 {global.ganado=0; regreso=0;}
}
if global.ganado>=1 && conteo=0 {conteo=1}
{
do
{
global.dinero+=1
}
until max(global.dinero,global.dinero+global.ganado)
}
Draw Event:
execute code:
draw_set_font(font_0)
draw_set_halign(fa_right)
draw_text(20,10,global.apuesta)
draw_text(120,10,global.ganado)
draw_text(200,10,global.dinero)
[/gml]
Pendientes y gracias de nuevo.
Bueno... lo normal es que el score suba al realizar determinadas acciones. As? que, al ocurrir tal acci?n, simplemente sumas score, score+=valor. Ya que, si fuera al contrario, osea, que subiera constantemente, no le veo sentido... solo se sube el score cuando ocurre algo.
Pero bueno, si quisieras eso, que al llegar a cero suba a 100 en 5 segundos, usa el codigo anterior con otra variable, en lugar de regreso, adelanto o algo as?, y duplicas el codigo con esa. AUnque lo veo raro
Bueno DarkKRuler: he hecho algo ya, aunque tiene un desv?o de un punto, es decir le digo global.ganado=20 y me reporta 19.
Pero logr? lo que hace tiempos no pod?a: que lo ganado baje a 0 y el global suba de 1 en 1. Eso sirve para agregar un efecto divino a juegos de cualquier tipo. En vez de la aburrida suma de puntuaci?n de una sentada, ahora podremos ver como los contadores se mueven sumando y restando puntos.
Estoy tan emocionado que pongo aqu? una copia para los que quieran poner el efecto a sus contadores de score.
Funciona bastante bien, pero tiene un problema. Si ganas puntos antes de que acabe la suma de puntos (clickear muy rapido en este caso), ganas menos puntos, dependiendo del juego puede funcionar sin problemas, pero si ganas puntos muy seguido hay que hacer algo mas complejo para que funciones bien >.<