Hola, Ivan: 

Bueno, primero vamos a ver lo de acceder de la forma en que lo has hecho a
los miembros de una clase.

clase Test
=============
class Test{
        private var yuyu:Number=5;
}

test.fla
=============
var t:Test;
// esto da error, porque el miembro al que queremos acceder es privado.
trace(t.yuyu);
// sin embargo, esto no. Parece que engaña al compilador
trace(t["yuyu"]);


Lo anterior es válido siempre que declaremos t como de tipo Test, para
forzar al compilador a realizar la comprobación de tipos. Si no, el primer
trace no dará error. 

Ahora vamos con tu código.

Dentro de la clase Item no has declarado el clip "contenedor". Por eso, la
única forma en que te deja acceder a él es mediante this["contenedor"], es
decir, saltándote la comprobación de tipos. Por poder, puede hacerse, pero
estrictamente hablando, no es muy elegante.

Yo optaría por declarar "contenedor" dentro de la clase como un miembro
privado, y devolver una referencia al mismo desde un método getter. La cosa
quedaría así:

class Item{
        private var contenedor:MovieClip;

        function Item(){
                ......
        }

        // este es el método getter
        public function get miContenedor():MovieClip{
                return contenedor;
        }
}

De este modo, miContenedor será una propiedad de sólo lectura que devolverá
una referencia a ese clip.

Espero que te sirva. Un saludo, Iván.
Carlos





-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre
de Ivan
Enviado el: viernes, 27 de octubre de 2006 22:34
Para: Lista ASnativos
Asunto: [ASNativos] Acceso a clips internos desde una clase

Hola lista
tengo un clip de pelicula en la biblioteca llamado Item, y vinculado a la 
clase Item.as mediante las propiedades de vinculación.
dentro de ese clip hay un clip llamado "contenedor". Quiero poder acceder a 
ese clip desde la clase, pero solo he podido hacerlo asi:

var miContenedor:MovieClip;
...
...
function Item(){
    miContenedor = this["contenedor"]
}

¿No hay otra manera?
¿por que no puedo poner  miContenedor = this.contenedor?
Gracias. 


-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------


-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a