Comunidad de diseño web y desarrollo en internet online

¡AAAAAHHHH! máscara y attachMovie

Citar            
MensajeEscrito el 29 Oct 2007 05:42 pm
:twisted:

Hola a tod@s.

Estoy intentando hacer un selector de la siguiente manera: en la capa "textos", en el frame 1, creo 3 "botones", que son 3 instancias de un clip.
Y encima le añado una mácara (capa "mascara"), de tal forma que al pulsar un botón (que está en otra capa) aparezcan poco a poco estos botones.
Ahora hay 3, pero la idea es que sea dinámico y el número varíe dependiendo de un archivo XML.
El problema que tengo es que la máscara no funciona si estos botones los genero por código. Si "pego" los clips en el frame, ningún problema, pero en cuanto los genero dinámicamente, pues no funciona.

El código es el siguiente:

var y = 40;
for (var x = 0; x<3; x++, y += 20) {
var Objeto = new Object();
Objeto.valor = "ETIQUETA "+x;
Objeto.onRelease = function() {
trace(this.valor);
};
this.attachMovie("campo_selector", "campo"+x, x, Objeto);
boton = eval("campo"+x);
boton._x = 100;
boton._y = y;
boton.texto.text = "ETIQUETA "+x;
}

¿Álguien sabe dónde meto la pata?

Muchas gracias.

Por naimps2

2 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Oct 2007 07:13 pm
Como lo veo, tienes dos opciones, una en tiempo de diseño y otra en tiempo de ejecución:

  1. Creas un clip de película que servirá como contenedor de los botones y a éste le aplicas la máscara. Así, al crear los botones dentro del contenedor, heredarán la mascara.
  2. Conviertes la máscara en clip de película, le pones un nombre de instancia y, al crear el nuevo botón, le asignas la máscara con setMask()

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 31 Oct 2007 03:08 pm
Gracias, voy a probarlo ahora mismito.

Por naimps2

2 de clabLevel



 

msie
Citar            
MensajeEscrito el 31 Oct 2007 03:37 pm
He probado lo segundo: convertir la mascara en un clip y asociarlo a los botones, pero si creo 3 btotones, sólo el último es el que se "pega" a la máscara.

Me pasaba lo mismo al asociarle el evento "onRelease" a los clips para convertirlos en botón: al pulsar me tiene que mostrar el valor del campo de texto ("etiqueta 1", "etiqueta 2",...) del clip ("campo_selector"), pero siempre me muestra el del último clip. Por eso he creado un objeto con el evento y lo inicializo en cada clip.

¿Sabes por qué sólo es el último botón el "bueno"?

var y = 40;
for (var x = 0; x<3; x++, y += 20) {
var Objeto = new Object();
Objeto.valor = "ETIQUETA "+x;
Objeto.onRelease = function() {
trace(this.valor);
};
attachMovie("campo_selector", "campo"+x, x, Objeto);
boton = eval("campo"+x);
boton._x = 100;
boton._y = y;
boton.texto.text = "ETIQUETA "+x;
boton.setMask(cp_mascara);
}

Por naimps2

2 de clabLevel



 

msie

 

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