Comunidad de diseño web y desarrollo en internet online

Como quitar acción a boton después de activado: que quede presionado

Citar            
MensajeEscrito el 05 Jul 2011 12:15 am
Hola a todos, he sondeado la web todo lo que he podido tratando de dar con la solución, no soy muy fan del flash, pero he estado animando una web completa en flash, con entradas y salidas de SWFs en el escenario, tengo dos codigos, uno que hace que cuando aprete un botón se queda en estado presionado, y otro que le da acción al botón; lo que necesito es que cuando el botón este en apretado pierda el script para que no lo puedan volver a apretar. Ayuda por favor.

Tengo este script en un frame:

var botones_arr:Array = [quienes_somos_mc, catalogo_mc, inicio_mc, puntos_de_venta_mc, eventos_mc, siguenos_mc, contactos_mc, revistas_mc];
function desactivar( aux:MovieClip ):Void
{
for( var i in botones_arr ) if( botones_arr[i] != aux ) botones_arr[i].unpress();
}

for( var i in botones_arr )
{
var aux:MovieClip = botones_arr[i];
aux.selected = false;
aux.over = function( Void ):Void
{
if( !this.selected )
{
this.gotoAndPlay("in");
}
};
aux.out = function( Void ):Void
{
if( !this.selected )
{
this.gotoAndPlay("out");
}
};
aux.press = function( Void ):Void
{
this.selected = true;
this.gotoAndStop("press"); //press
};
aux.unpress = function( Void ):Void
{
this.selected = false;
this.gotoAndPlay("pressout"); //pressout
};
aux.onDragOver = aux.onRollOver = aux.over;
aux.onDragOut = aux.onRollOut = aux.onReleaseOutside = aux.out;
aux.onRelease = function( Void ):Void
{
//Si estoy presionado
if( this.selected )
{
//me desactivo
//this.unpress();
}
else// si no estoy presionado
{
//desactivo a mis compadres
this._parent.desactivar( this );
//me activo
this.press();
}
};
}

Y tengo este otro en los botones:

onClipEvent(load){
this.nombre="quienessomos";
}
on(press){
_root.contenido_mc.cargador_mc.gotoAndPlay("salida");
_root.contenido_mc.contenedor_mc.gotoAndPlay("quienessomos");
}

El script del botón llama al SWF, en esta parte todo OK, pero cuando llamo el swf de, por ejemplo, quienes somos (.swf), el botón de QUIENES SOMOS aún se puede apretar.

Ayudenme por favor.
Gracias!!!

Por yadirgomez

3 de clabLevel



Genero:Masculino  

Diseñador Web

firefox
Citar            
MensajeEscrito el 05 Jul 2011 12:51 pm

Código ActionScript :

//Si estoy presionado
if( this.selected )
{
//me desactivo
this.onPress = null;
this.onRelease = null;
} 


Esto es malisimo:

Código ActionScript :

onClipEvent(load){
this.nombre="quienessomos";
}
on(press){
_root.contenido_mc.cargador_mc.gotoAndPlay("salida");
_root.contenido_mc.contenedor_mc.gotoAndPlay("quienessomos");
}

Mejor pasalo al fotograma, como has hecho con el onRelease.

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 05 Jul 2011 03:00 pm
Gracias Acreonte, voy a probarlo y te aviso.

Por yadirgomez

3 de clabLevel



Genero:Masculino  

Diseñador Web

firefox
Citar            
MensajeEscrito el 05 Jul 2011 04:26 pm

Acreonte escribió:

Código ActionScript :

//Si estoy presionado
if( this.selected )
{
//me desactivo
this.onPress = null;
this.onRelease = null;
} 


Esto es malisimo:

Código ActionScript :

onClipEvent(load){
this.nombre="quienessomos";
}
on(press){
_root.contenido_mc.cargador_mc.gotoAndPlay("salida");
_root.contenido_mc.contenedor_mc.gotoAndPlay("quienessomos");
}

Mejor pasalo al fotograma, como has hecho con el onRelease.


Lo acabó de probar, pero no me sale. Puse en un frame:

quienes_somos_mc.onPress= function(){
_root.contenido_mc.cargador_mc.gotoAndPlay("salida");
_root.contenido_mc.contenedor_mc.gotoAndPlay("quienessomos");
}

No sale con el código que me diste, que estará fallando?

Por yadirgomez

3 de clabLevel



Genero:Masculino  

Diseñador Web

firefox
Citar            
MensajeEscrito el 06 Jul 2011 08:49 am
La logica esta descrita en el codigo de este post. Revisa, prueba, prueba, prueba... y si de verdad despues de probar muchisimas veces no te sale, regresa, pon todo tu codigo y lo vemos nuevamente.

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox

 

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