Al principio pensé que se debía a que las coordenadas dentro de un movie clip no coinciden con las coordenadas del stage, pero si fuera ese el caso tampoco funcionaría el código original y sí lo hace.
Utilicé incluso la misma estructura: la barra y linea base en un movie clip, con una capa conteniendo la accion en donde se define el objetivo de la barra de desplazamiento, luego ese movie clip dentro de otro conteniendo también el texto a enmascarar y la máscara, y una capa con un acción de stop().
Aquí está el código que usé para la barra, tiene modificados los parámetros para los límites izquierdo y derecho del startdrag, porque sólo así logre que se alineara bien con respecto al eje x. Sin embargo, no pude lograr lo mismo con el eje y:
Código :
onClipEvent(load){
var objetivo:String = _parent.mi_objetivo;
var sostenido:Boolean = false;
var razon:Number = this._parent._parent[objetivo]._height / this._height;
var deslizar:Number;
razon = int(razon);
}
on(press){
startDrag(this, false, this._parent.eje._x, this._parent.eje._y, this._parent.eje._x, this._parent.eje._y+this._parent.eje._height-this._height);
this.sostenido = true;
}
on(release){
stopDrag();
this.sostenido = false;
}
//este se lo agregué para evitar que la barra siguiera moviéndose al no liberar el mouse dentro de ella
on(releaseOutside){
stopDrag();
this.sostenido = false;
}
onClipEvent(mouseMove){
if(this.sostenido){
deslizar = (this._y - this._parent.eje._y);
deslizar = int(deslizar);
this._parent._parent[objetivo]._y = -(razon * deslizar) / 2;
}
}Algunos datos:
"eje" es la linea base sobre la que se desplaza la barra, es un movie clip hecho a partir de una línea simple con grosor 1.
La barra para el desplazamiento está hecha a partir de un rectángulo con las esquinas redondeadas, tiene relleno y contorno.
Apenas tengo 3 meses que empecé a usar flash (flash 8 para ser exactos), y como 2 semanas que empecé a experimentar con ActionScript, así que soy muy ignorante en este tema, si alguien pudiera decirme qué estoy haciendo mal se lo agradecería mucho.
Aquí los archivos para los que puedan revisarlos:
archivo fla
archivo swf
