Creo que es aquí.
En esencia sería algo así como...
Elementos:
Un movieClip con tre capas.
Capa superior ocupada por un movieClip con solo texto, con nombre de instancia >sup_mc<.
Capa intermedia idéntica a la anterior, solo que con distinto color en el texto y con nombre de instancia >inf_mc<.
La capa inferior será ocupada por el fondo del botón.
--Un movieClip con las mismas dimensiones que el fondo del botón, al que llamaremos >mask_mc<
--Un movieClip con solo texto identico a >inf_mc<, pero con distinto color de texto, yo lo he nombrado como >cortina_mc<.
Una vez que hemos definido estos elementos, ponemos el botón en el escenario, en sus mismas coordenadas ponemos el MC >mask_mc<, tambien ponemos el MC >cortina_mc< en el escenario haciendole coincidir exactamete con el texto del botón, despues lo bajamos por debajo de este y ahí lo dejamos.
Solo nos queda poner este código en la linea de tiempo principal.
Código :
cortina_mc.setMask (mask_mc);
//=================//
function ir (mc, posY, factor) {
mc.onEnterFrame = function () {
mc._y += factor;
if (mc._y >= posY) {
mc._y = posY;
delete this.onEnterFrame;
}
};
}
//=================//
function volver (mc, posY, factor) {
mc.onEnterFrame = function () {
mc._y -= factor;
if (mc._y <= posY) {
mc._y = posY;
delete this.onEnterFrame;
}
};
}
pos_y = cortina_mc._y;
//=================//
function alpha (mc, nivel, vel) {
mc.onEnterFrame = function () {
this._alpha += (nivel - this._alpha) / vel;
if (this._alpha <= nivel && this._alpha >= nivel) {
this._alpha = nivel;
delete this.onEnterFrame;
}
};
}
//=================//
//=================//
btn_mc.onRollOver = function () {
volver (cortina_mc, mask_mc._y - (cortina_mc._height + 15), 8);
this.onEnterFrame = function () {
if (cortina_mc._y <= this._y+ this.height/2) {
alpha (this.sup_mc, 0, 2);
delete this.onEnterFrame;
}
};
};
//
btn_mc.onRollOut = function () {
ir (cortina_mc, pos_y, 8);
this.onEnterFrame = function () {
if (cortina_mc._y >= this._y) {
alpha (this.sup_mc, 100, 2);
delete this.onEnterFrame;
}
};
};