Comunidad de diseño web y desarrollo en internet online

Sistema de Pestañas

Citar            
MensajeEscrito el 08 Oct 2007 09:41 am
Hola estoy intentando hacer un sistema de pestañas, e intento emular a fichas de datos. He creado un mc (main) y dentro de el van otros 6 mc que serian las fichas. cada uno de estos mc se compone de un area rectangular (contenido) y otra area trapezoidal que seria la pestaña propiamente dicha (boton). Lo que yo quiero es que cuando el usuario pise el boton se suba esa ficha en concreto y asi se pueda ver el contenido.
Si aplico codigo en cada uno de los mc funciona bien, pero al ser 6 estoy intentando crear un codigo que se meta en el mc principal (main) y funcione independientemente cada uno de los mc.
El cosdigo es :

Código :

onClipEvent(load) {
 y = 612;
_y = 612; 
}
onClipEvent(enterFrame){
_y+=(y-_y)*0.3;
for (b = 1; b <= 6; b++){
var ficha = this['mc'+ b];
ficha.btn1.onPress = function(){
if (y == 612){
ficha._parent.y = 25;
}else{
ficha._parent.y = 612;
   }
  }
 }
}

Lo que me pasa es que sube todo el mc principal y no cada uno de los que tiene en su interior, no se donde me pude equivocar, soy novato aun en AS, asi que nesesito una ayudita. Gracias.

Por byweb

118 de clabLevel



Genero:Masculino  

Lucena (Córdoba)

firefox
Citar            
MensajeEscrito el 08 Oct 2007 05:49 pm
quizás no me expresé bien, lo que quiero es en vez de repetir codigo en cada uno de los mc , como la animación es la misma en todos pues con un simple codigo se puedan ejecutar todos. No se se que es algo asi como

Código :

for (b = 1; b<=6; b++) {
var ficha = _root['mc' + b ];
ficha.btn.onPress=function (){
ficha._y = 300;
}

Pero debo de equivocarme en la sintaxis, pues no funciona. Donde esta el Error ?. Gracias.

Por byweb

118 de clabLevel



Genero:Masculino  

Lucena (Córdoba)

firefox
Citar            
MensajeEscrito el 09 Oct 2007 10:15 am
Ya va funcionando algo mejor, he puesto en el mc el siguiente código :

Código :

onClipEvent(load) {
 y = 543;
_y = 543; 
}
onClipEvent(enterFrame){
_y+=(y-_y)*0.3;
}

y en la linea del tiempo en el frame 1 :

Código :

for (b = 1; b <= 6; b++){
ficha = this['mc_'+ b];
ficha.boton.onPress = function() {
if (ficha.y == 543){
ficha.y = 76 ;
}else{
ficha.y = 543;
ficha.swapDepths(1);
   }
  }
 } 
stop();

Ahora el problema es que como son un total de 6 mcs, si pulso sobre el "boton" de cualquier "mc _" , siempre se produce el efecto en el mc 6 y no encada uno de los demas independientemente. Sé que me falta alguna variable que haga distincion de mc, pero cual ?, una ayudita no me vendría mal.

Por byweb

118 de clabLevel



Genero:Masculino  

Lucena (Córdoba)

firefox
Citar            
MensajeEscrito el 09 Oct 2007 11:12 am
bueno yo solito lo resolví, todo era crear una funcion , y llamar a esta desde el boton del mc
algo asi :

Código :

subirMC = function(mcs){
   mcs.boton.onPress = function() {
    if( mcs.y == 543){
        mcs.y = 80;
     }else{
         mcs.y = 543;
         mcs.swapDepths(1);
  }
 }
}
for(i = 1; i<=6; i++) {
 ficha = this['mc_' + i ];
 subirMC(ficha);
}
stop();

Por byweb

118 de clabLevel



Genero:Masculino  

Lucena (Córdoba)

firefox

 

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