Comunidad de diseño web y desarrollo en internet online

acceso a mi objeto es denegado

Citar            
MensajeEscrito el 20 May 2010 03:44 am
Hola amigos de cristalab, tengo un problema. Bien todo comienza creando objetos TextField en tiempo de ejecucion. Este objeto lo agrego a otro objeto llamado conte, conte si esta en escenario. Bien el problema pasa que al intentar acceder a ellos no puedo, para acceder a ellos intento utilizar su propiedad name. pero aun asi no me accede a el. para un mejor entendimiento aqui esta su code.

Código ActionScript :

var alumnos:Array=["1", "2", "3"];
var num:Number=0;
var conte:MovieClip = new MovieClip();
creaTextos();
function creaTextos():void {
   if (alumnos.length>0) {
      for (var i:Number =0; i<alumnos.length; i++) {
         var tex:TextField = new TextField();
         tex.text=alumnos[i];
         tex.name ="t" + alumnos[i]
         tex.y=15*i;
         conte.addChild(tex);
         this.addChild(conte);
         trace (tex.name )// esto me vota desde t1,t2 y t3 como nombres del objeto
      }
   }
}
sortea.addEventListener(MouseEvent.CLICK ,sortear);

function sortear(event:MouseEvent ):void {
   var _root=root
      //num=Math.round(Math.random()*alumnos.length-1);
      trace ( "Gano " + _root.conte["t" + 1].text) // elijo el objeto y muestro su propiedad text
}

Gracias y un saludo a todo Cristalab, desde Lima Peru.

Por FlexandFlash

48 de clabLevel



 

msie7
Citar            
MensajeEscrito el 21 May 2010 10:18 am
FlexAndFlash. Con la notación de corchetes (eso que pones de root.conte["t+i]), accedemos a "variables que hacen referencia a MCs" (o a funciones). Si queremos acceder a un displayObject cuya "propiedad" name tenga un determindado valor tenemos que usar getChildByName.

Pongo un ejemplo

Código ActionScript :

var mimc:MovieClip=new MovieClip()
mimc.name="mimc_name"
//Podemos escribir
//1.-Usando la "variable que hace referencia"
mimc.x=100
this["mimc"].x=100
//2.-Usando la "propiedad" name
getChildByName("mimc_name").x=100

Observa que son dos cosas completamente distintas. Digamos que el MC se "llama" "mimc" (hay una variable llamada "mimc" que hace referencia al MC), pero su propiedad name es "mimc_name".

NOTA:Cuando tenemos un MC en tiempo de diseño cuyo "nombre de instancia" es "mimc", Flash lo traduce como una VARIABLE que hace referencia al MC pero ¡OJO! la propiedad "name" de dicho MC será "instance1", p.e.

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2010 03:39 am
Muchas gracias eliseo2 por tu tiempo y disculpa la demora. Bien este es el codigo que resuelve mi problema.

Código ActionScript :

function sortear(event:MouseEvent ):void {
      num=(Math.round(Math.random()*alumnos.length-1))+1;
      var caja=this.conte.getChildByName("t"+num)//objeto seleccionado
      trace ( caja.text ) // muestro su propiedad text
}

Gracias una vez mas eliseo2 sobre todo por la explicacion clara. Un saludo a todos desde Lima - Peru, esperamos la llegada de cristalab este año. Bye

Por FlexandFlash

48 de clabLevel



 

msie

 

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