Comunidad de diseño web y desarrollo en internet online

por favor, ¿como se usa el with?

Citar            
MensajeEscrito el 11 Feb 2009 06:05 am
hola a todos. pues eso: ¿como uso el with para que funcione? sé que puedo poner "clip.penta = 88" pero necesito hacerlo con with y no me va. ¿podeis decirme que hago mal? he probado con with (eval(nombre)), with (this[nombre])... y nada :cry:

Código ActionScript :

function mi_funcion(nombre:String) {
   this.createEmptyMovieClip(nombre, this.getNextHighestDepth());
   with (nombre) {
      penta = 88;
   }
}
mi_funcion("clip");
//
btn.onPress = function() {
   trace(_root.clip.penta);
};


gracias.

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Feb 2009 07:03 am
Hola, la sentencia "with" es una construccion del lenguaje que se usa a modo de funcion que recibe un objeto o un MovieClip como parametro, en tu ejemplo estas usando como parametro, un string "nombre", no un MovieClip; prueba con esto:

Código ActionScript :

function mi_funcion(nombre:String) { 
   var aux:MovieClip = this.createEmptyMovieClip(nombre, this.getNextHighestDepth()); 
   with (aux) { 
      penta = 88; 
   }
}


Tambien puedes usarlo con this

Código ActionScript :

function mi_funcion(nombre:String) { 
   this.createEmptyMovieClip(nombre, this.getNextHighestDepth()); 
   with ( this[nombre] ) { 
      penta = 88; 
   }
}


Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 11 Feb 2009 01:38 pm
gracias @Longevie, pero esto tampoco funciona. :?

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Feb 2009 05:51 pm
mmm

Código ActionScript :

function mi_funcion(nombre:String) { 
   aux = _root.createEmptyMovieClip(nombre, _root.getNextHighestDepth()); 
   with ( aux ) { 
      penta = 88; 
   }
} 
mi_funcion("clip"); 
// 
btn.onPress = function() { 
   trace(_root.clip.penta); 
   trace(_root.clip); 
};


NO funciona? que te sale en el trace cuando presionas el boton?

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 12 Feb 2009 12:51 am
pues me sale:

Flash escribió:

undefined
_level0.clip

¿que te sale a ti? :P

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Feb 2009 03:39 am
al fin lo logre con telltarget:

Código ActionScript :

function mi_funcion(nombre:String) {
   var aux:MovieClip = this.createEmptyMovieClip(nombre, this.getNextHighestDepth());
   tellTarget (aux) {
      penta = 88;
      nom = nombre;
   }
}
mi_funcion("clip");
// 
btn.onPress = function() {
   trace(clip.penta);
   trace(clip.nom);
};

aunque en la ayuda de flash dicen que esta desfasado. ¿como es esto? ¿acaso dejara de funcionar en futuras versiones de flash player? ¿como aplico entonces el with? no funciona las opciones que me has dado. ¿a ti que te sale en la ventana de salida?

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Feb 2009 04:38 am
si desfasado es que dejara de ser compatible con otras versiones de flash player, mmm, lo unico que se me ocurre es que el bloque with no sea capas de crear atributos inexistentes. mmm no lo probe pero bueno de todas formas porque no lo haces de la forma tradicional:

Código ActionScript :

aux = _root.createEmptyMovieClip(nombre, _root.getNextHighestDepth());  
aux.penta = 88;

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 12 Feb 2009 08:17 pm
asi lo haré finalmente. lo que pasa es que son muchas variables y calculos entre estas y no queria tener que escribir toda la ruta en todas las variables pero bueno... te agradezco el interes en ayudarme ^^
hasta otra

Por Unukalhai

79 de clabLevel



 

firefox

 

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