Comunidad de diseño web y desarrollo en internet online

¿Como obtener propiedades de elementos de la biblioteca?

Citar            
MensajeEscrito el 30 Nov 2007 09:20 pm
Me asiste esta duda.

Un proyecto vacio.
creamos un clip de pelicula "rectangulo""en el stage hacemos que tenga por ejemplo un acho de 20 eliminamos el clip del escenario.
Vemos que clip sigue estando en la biblioteca.
Añadimos un texto dinamico "valor" al escenario vacio que mueste el ancho de clip "rectangulo".
this.valor.text = ????????._with;

¿Que hay que poner ahi?
o como se puede acceder ahi sin tener una instancia en el escenario.

Un saludo y gracias

Por Andurino

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Nov 2007 10:17 pm
La respuesta es fácil y corta: No se puede. No puedes acceder a las propiedades de un objeto que no está instanciado U_U

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 30 Nov 2007 10:50 pm
Concuerdo con the fricky..

por que hasta donde tengo entendido.. favor de corregirme si stoy mal.
cuando tu generas tu .swf solo se exportan los objetos activos, osea los que estan en el esenario. Por lo que los que solo esten en la biblioteca ni siquiera te ocupan peso en tu .SWF final.

es por eso que no se puede.. Sin instancia no se puede, as the frycky said :)

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

firefox
Citar            
MensajeEscrito el 01 Dic 2007 12:39 am
Discrepo en que los objetos de la libreria no se exportan, es distinto tener un objeto en el escenario y la biblioteca que tener eso mismo y la biblioteca llena de otros objetos que no se usan para nada.

En cuanto a mi cuestion, la solucion es simple:
Efectivamente no se puede acceder a la biblioteca directamente, pero lo que si puedo es crear ese objeto en tiempo real , cojer lo que necesito y eliminarlo.
por ej:

Código :

var nivel_level:Number = 0;
createEmptyMovieClip("clip_temporal",nivel_level);
//asegurarse de que no se va a ver nada para el usuario
_level0.clip_temporal._visible = false;
// ahora traigo el clip de la biblioteca
clip_temporal.attachMovie("clip_de_biblioteca",
                                      "nombre_instancia_de_clip_de_biblioteca",
                                      nivel_level);
//oculo la instancia tambien
_level0.clip_temporal.nombre_instancia_de_clip_de_biblioteca._visible = false;
ancho = _level0.clip_temporal.nombre_instancia_de_clip_de_biblioteca._width;
alto =  _level0.clip_temporal.nombre_instancia_de_clip_de_biblioteca._height;
//eliminamos el clip_temporal totalmente
_level0.clip_temporal.removeMovieClip();

ale ya esta

Por Andurino

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Dic 2007 01:13 am
Pues no comprendo bien a que te refieres...

los objetos que no estan sobre el esenario aunque esten en la biblioteca no se exportan,.

Para muestra, es muy simple

1.- Crea un archivo nuevo en blanco obio, de flash
2.- dale print screen a tu pantalla, y luego Paste para que se pegue en el esenario // para crear peso en KB
al momento de entrar al esenario automaticamente se guarda en la biblioteca

3.- guarda el archivo, y justo despues exporta el SWF
4.- ve ala direccion donde este tu archivo SWF y dale click derecho y propiedades.
6.- Te va a pesar cerca de 55Kb.

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

1.-Ahora elimina la imagen de tu pantalla del esenario pero no de la bilbioteca, y vuelve a exportar
2.- vuelve a ver las propiedades de tu archivo SWF y checa cuanto pesa

y veras que pesa solo 36bytes o 4Kb en disco.

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

Entonces concluimos en que tu imagen de la biblioteca no se esta exportando, en el momento que la eliminas de cualquier espacio de trabajo dentro de tus lineas de tiempo, en tu SWF.


Y en cuanto al resto, yo tengo una pregunta.. como haces para poner un nombre de instancia a un objeto dentro de la biblioteca desde el espacio de trabajo??

saludos

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

firefox
Citar            
MensajeEscrito el 01 Dic 2007 01:30 am
Creo que hay un malentendido aquí. Tu duda fue:

Andurino escribió:


...o como se puede acceder ahi sin tener una instancia en el escenario.

La respuesta a esa pregunta es no se puede.
Si adjuntas el archivo con attachMovie, estás instanciando el objeto de la biblioteca, así que ya está en el escenario. No importa si el usuario puede verlo o no.
Otra cosa es si preguntases cómo obtener el dato del objeto, que es lo que muestras en tu código.
Lo que no se compila en el swf son los elementos de la biblioteca que no estén instanciados en tiempo de diseño y que no tengan seleccionado el "exportar para ActionScript" en la biblioteca.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 01 Dic 2007 01:42 am
Tecnicame si esta en el escenario pero aunque le quite el _visible apenas se notaria.
Era una pregunta ejemplo para los usuarios que no entienden el codigo , que estan empezando.
o sea un AcctionScript de nivel principiante-medio.

De todos modos muchas gracias por tu respuesta.

Respesto al otro post, idem de lo mismo , salvo que eso seria para nivel principiante.

Dicho de otra forma, estoy hablando como si no supiera del tema, y planteo la duda y una posible solucion, que con vuestros post queda mas enriquecida.

Muchisimas gracias a los dos.

Por Andurino

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Dic 2007 03:01 am
¿Como obtener propiedades de elementos de la biblioteca?

creamos un clip de pelicula "rectangulo""en el stage hacemos que tenga por ejemplo un acho de 20 eliminamos el clip del escenario.
Vemos que clip sigue estando en la biblioteca.


Aqui das a entender con esa pregunta. que quieres las propiedades de algo que no existe en el esenario.

eliminar = inexistencia

Ya que si no esta visible es otra cosa..

Si adjuntas el archivo con attachMovie, estás instanciando el objeto de la biblioteca, así que ya está en el escenario. No importa si el usuario puede verlo o no.

Lo que no se compila en el swf son los elementos de la biblioteca que no estén instanciados en tiempo de diseño y que no tengan seleccionado el "exportar para ActionScript" en la biblioteca



Exactamente de eso es lo que hablo :)

Saludos

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.