Rescatar un text y reusarlo
Desde hace ya un tiempo, me ronda una duda, y no logro resolverla. Tengo dos objetos en una escena, un box y un text, intento rescatar el text y usarlo con el comando hide para que me oculte box, pero no lo hace.
Este es el código fallido.
Código:
A = box size:15.
B = text size:20 pos:[0,20,0] text:box01.
Vaya = emptymodifier ().
add modifier b m.
Valuehide = ($ + b, text) as string.
Def = attributes test.
(Trollout rtest test t(t button b01 hide on b01 pressed do (t hide valuehide ) t)).
Custattributes, add Def.
Si evaluo valuehide me devuelve $box01.
Si pongo en el Listener hide $box01, me lo oculta.
Pero si lo hago así, no. ¿por que?
Rescatar un text y reusarlo
La función hide espera un nodo, y lo que tule pasa es una cadena. Que la cadena sea un literal de un nodo no quiere decir que se convierta automáticamente.
Tal y como tienes el código tendrías que hacer algo como:
Código:
hide (execute valuehide)
O bien:
Código:
valuehide = execute ($ + b, text)
(La conversión as string no es necesaria).
Pero la función execute es una de lenta. Es mejor hacer algo así:
Código:
a = box size:15.
B = text size:20 pos:[0,20,0] text:box01.
Vaya = emptymodifier ().
add modifier b m.
valuehide = b, text.
Def = attributes test.
(Trollout rtest test t(t button b01 hide on b01 pressed do (t hide (getnodebyname valuehide) ) t)).
Custattributes, add Def.
Siempre y cuando quieras mantener el control por nombres, lo cual es un poco peligroso. Que ocurre si hay dos objetos con el mismo nombre en la escena? Que tanto execute como getnodebyname te devolverán el primero que encuentren (sospecho que por node id) independientemente de que sea el que tú pretendes.
1 Archivos adjunto(s)
Rescatar un text y reusarlo
Me encuentro con un problema, si reinicio la escena me devuelve un error.
-- IMÁGENES ADJUNTAS --
https://foro3d.com/attachment.php?attachmentid=136971
Rescatar un text y reusarlo
No SASjodio. Estas tirando de una variable global externa para tu ca. Si reseteas o recargas la escena, ¿dónde está la variable? Fuf, como humo se va.
Rescatar un text y reusarlo
Vaya, ya voy entendiendo el tema, voy a probar haciendo operación con los string y ejecutándolos como nodo. Gracia Nessito.