DIV ARENA FORUMS

text_z

Vortigano - 25-1-2017 at 11:43 AM

Hola amigos, hace varios días que me encuentro con este inconveniente y no sabía donde publicarlo.

Resulta que al asignar un valor distinto a text_z no consigo cambiar la profundidad del texto (respecto de los gráficos). He intentado tanto con la beta13 como con la NightlyBuild más reciente sin éxito.
Tal vez estoy haciendo algo mal, me gustaría ver un ejemplo o que pudieran verificarlo.
Desde ya muchas gracias, saludos!!

[Edited on 25-1-2017 by Vortigano]

CicTec - 25-1-2017 at 12:00 PM

Hola Vortigano,

Por default text_z tiene un valor de Z igual a "-256" esto significa que el texto se situara encima de otros graficos con Z mayor, es decir cuanto mas grande es el numero, mayor es la profundidad del grafico, aqui te pongo un ejemplo apenas probado con la ultima nightlybuild:
Code:
program example_text_z; begin mouse.graph = new_map(10, 10, 5, 5, 15); write(0, 160, 100, 4, "Text"); loop if(key(_1)) text_z = -1024; end if(key(_2)) text_z = -256; end frame; end end

Probando el ejemplo veras que el puntero del mouse se situa encima del texto (porque tiene una Z = -512), si pulsas 1 veras que el texto se situa por encima, si pulsas 2, vuelve a lo normal.

------------------------------------------------------------------------------

By default text_z has a value of Z equal to "-256" This means that the text will be located above other graphics with greater Z, that is, the larger the number, the greater the depth of the graphic, here an example just tried with last nightlybuild:
Code:
program example_text_z; begin mouse.graph = new_map(10, 10, 5, 5, 15); write(0, 160, 100, 4, "Text"); loop if(key(_1)) text_z = -1024; end if(key(_2)) text_z = -256; end frame; end end

Trying the example you'll see that the mouse pointer is located above the text (because it has a Z = -512), if you press 1 you'll see that the text is located above the pointer, if you press 2, it will return to normal operation.

[Edited on 25-1-2017 by CicTec]

Vortigano - 25-1-2017 at 12:13 PM

Gracias por la pronta respuesta, eso me funciona. Pero cuando utilizo "xput" no consigo poner los textos por detrás.
P/d: si utilizo "map_xput" funciona.

[Edited on 25-1-2017 by Vortigano]

CicTec - 25-1-2017 at 12:18 PM

Porque "text_z" solo funciona con los textos creados con las funciones WRITE y WRITE_INT.

XPUT es una funcion que renderiza (pinta) en el fondo de la pantalla que es siempre detras de todo, por eso no te funciona, exactamente cosa deseas hacer, quizas te podemos dar soluciones mejores.

----------------------------------------------------------------------------------------------------------------------------------------

Because "text_z" only works with text created with WRITE and WRITE_INT functions.

XPUT is a function that renders (draw) in the bottom of the screen, which is always behind everything else, why not work, exactly what you like to do, maybe we can give you the best solutions.

Vortigano - 25-1-2017 at 12:23 PM

Oooh, has aclarado mis dudas, solo soy un aficionado y me siento muy cómodo usando DIV, y la ayuda integrada en el IDE no venía con ejemplos al respecto. Muchas gracias nuevamente :)
Estoy armando una herramienta para calcular talentos para el video juego "lords mobile" y no tener que gastar dinero real para probar las distintas combinaciones. Lo había hecho en Delphi7 que usa lenguaje Pascal, pero no me gustó para nada la interfaz gráfica y decidí buscar algún programa que me diera la libertad de crear de manera sencilla toda la interfaz, y me encontré con que DIV había resurgido (conocí DIV1 por revistas cuando era un niño).

[Edited on 25-1-2017 by Vortigano]

CicTec - 25-1-2017 at 12:30 PM

De nada. :)

Si, no viene un ejemplo de text_z porque redirecciona a las funciones WRITE y WRITE_INT y en su ayuda explica nuevamente el uso de text_z.

Por ejemplo en la ayuda en español sobre "text_z" indica:
Quote:

Nota 2: Los textos únicamente pueden imprimirse con la función write() (textos alfanuméricos) o con la función write_int() (valores numéricos de variables).


En la ayuda de la funcion WRITE, indica:
Quote:


El plano de profundidad en el que aparecen los textos escritos se controla mediante la variable global text_z, que sirve para regular qué gráficos se deben ver por encima de los textos y cuáles por debajo.

Los textos podrán, luego, moverse hasta otra posición si es necesario utilizando la función move_text(), que también requiere como parámetro el código identificador que devuelve write().

Quizas no es visible a primera vista, y podria ser mejorada.


CicTec - 25-1-2017 at 02:02 PM

Quote: Originally posted by Vortigano  

Estoy armando una herramienta para calcular talentos para el video juego "lords mobile" y no tener que gastar dinero real para probar las distintas combinaciones. Lo había hecho en Delphi7 que usa lenguaje Pascal, pero no me gustó para nada la interfaz gráfica y decidí buscar algún programa que me diera la libertad de crear de manera sencilla toda la interfaz, y me encontré con que DIV había resurgido (conocí DIV1 por revistas cuando era un niño).

Si, DIV permite hacer cosas sencillamente. :)

Parece interesante, estas haciendo la herramienta en DIV y tambien el juego, o solo la herramienta ?

------------------------------------------------------------------------------

Yes, DIV allows you to do things easily. :)

Sounds interesting, you're doing the tool in DIV and even the game, or just the tool?

Vortigano - 25-1-2017 at 02:31 PM

Solo la herramienta, toda la matemática respecto a los cálculos ya las tengo y las uso en una hoja de cálculo, pero me dieron ganas de plasmarlo en un programa ejecutable en lugar de una simple hoja de cálculo. Tengo experiencia en programación de microcontroladores PICs en assembler, y realmente disfruto mucho ver lo ameno que es pensar y escribir en lenguaje de alto nivel. La ayuda que utilizo para DIV_DX es la que viene integrada al mismo programa que viene en inglés, ¿podría conseguirla en español?, de todas formas no tengo mayores problemas con el Inglés, pero sería otra comodidad :)

CicTec - 25-1-2017 at 03:54 PM

Bien, como sea, animo con ello. :)

Para la doc en español, creo recordar que hay un fichero da substituir, ahora mismo no recuerdo donde encontrarlo, creo que Mike te puede dar mejor info para eso.

----------------------------------------------------------------------------------------------------------------------------
Well, anyway, good job with the project. :)

About the documentation in Spanish, I remember that you have to replace a file, I can not remember where to find it, I think Mike can give you better information about this.


[Edited on 25-1-2017 by CicTec]