Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: king195 en Abril 27, 2015, 01:10:54 PM

Título: Problemas Draw_text
Publicado por: king195 en Abril 27, 2015, 01:10:54 PM
Estoy pasando las mil y una con draw_text ya que este no se queda printado en pantalla sino que se va sin motivo aparente.

with(obj_enemigo){
        var value_y = 20,inicial_y = 150;
           
        inicial_y = 150;
           
        while(num_pista>=1){
            draw_text(26,inicial_y+value_y*num_pista,string(pista));
            num_pista--;
        }
    }


Lo que necesito es enumerar una lista de pistas y para ello lo que hago es contar primero el numero de pistas disponibles y luego básicamente realizo un bucle para que vaya printandolo, el tema es que creo que lo que hace es printarlo hasta que num_pista es menor o igual a 1, es decir lo printa y en cuanto la condición del bucle ya no es, pues se pira. Me extraña mucho que haga esto y no se por donde tirar, he hecho mil pruebas.

Num_pista lo recojo de unas cuentas que hago en el evento Step del enemigo, luego para printarlo uso el evento draw de otro objeto, de ahí que use el with.
Título: Re:Problemas Draw_text
Publicado por: arcangelcaos en Abril 27, 2015, 01:48:39 PM
Hola, no se si te he entendido bien, pero creo que es lo siguiente.
Tu tienes unas cantidad de pista (20 x ejemplo), y quieres que te las ponga todas en pantalla. Pero en cada draw le quitas 1 valor a num_pista, por lo tanto cuando repinte el texto la cantidad de veces que pone num_pista inicialmente, dejara de pintarlo

psudo código

num_pista = 10

mientras num_pista <= 1
   dibujo el texto
   le quito 1 a num_pista   (esto es lo que te da el problema. cuando se dibuje 10 veces, ya no se dibujara más. Y ten en cuanta que se dibuja una vez en cada step).

espero haberte aclarado algo. Deberias de cambiar la forma de dibujar eso. Según lo que entiendo que queires usaría un for

for  contador=0; contador >= num_pista; contador+=1
     draw_text(26,inicial_y+value_y*contador,string(pista)

Prueba haber eso.