Ho provato una modifica "al volo"...
Mi pare che funzioni meglio, anche se, quando clicco sul cursore, avviene comunque un piccolo spostamento.
Lo spostamento è comunque + piccolo per cui non mi impedisce lo startdrag.
Ti riporto il codice, con le mie modifiche:
codice:
onClipEvent (load) {
// colore = new Color(this);
click = 0;
}
onClipEvent (mouseDown) {
if (_root.Vbar.barra.hitTest(_root._xmouse,_root._ymouse, false)){
_root.incBarra=0}
// mod. by pablo ... begin
// faccio l' hitTest SOLO se non sono sopra il cursore
// utilizzando la variabile "sopra" impostata da quest'ultimo
if (!_root.Vbar.barra.sopra) {
// mod. by pablo ... end
if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
Msopra = true;
_root.YM = _root._ymouse;
if(_root.YM>(_root.Vbar.barra._y+_root.newHbarra)){piu=true}
if(_root.YM<(_root.Vbar.barra._y)){piu=false}
if(_root.YM>=(_root.bot-_root.newHbarra)){_root.Vbar.barra._y=_root.bot-_root.newHbarra}else{_root.Vbar.barra._y=_root.YM}
//volte = Math.round(_root.Hbarra/_root.newHbarra);
//click = click+1;
//if (click<=(volte-1) and piu) {_root.Vbar.barra._y += _root.newHbarra;}
//if (click>(volte-1) and piu) {_root.Vbar.barra._y = _root.BOT-_root.newHbarra; this.click = 0;}
//if (click<=(volte-1) and !piu){_root.Vbar.barra._y -= _root.newHbarra;}
//if (click>(volte-1) and !piu) {_root.Vbar.barra._y = _root.TOP;this.click = 0;}
// colore.setRGB(0xffffff);
} else {
Msopra = false;
// colore.setRGB(0x000000);
}
// mod. by pablo ... begin
// non so bene se è giusto ripetere questo settaggio
} else {
Msopra = false;
// colore.setRGB(0x000000);
}
// mod. by pablo ... end
}
onClipEvent (enterFrame) {
if (MSopra) {
_root.incBarra=(_root.Top+_root.Vbar.barra._y-_root.Vbar.UP._height)-_root.Top;
//_root.incBarra = (_root.Vbar.barra._y-_root.TOP);
_root.libro._y = _root.YLibro-((_root.ScrollLibro/_root.ScrollBarra)*(_root.incBarra));
}
}
Fammi sapere, ciaoooo