mogmog
Erfahrenes Mitglied
Hallo
Ich benutze den Scroller von Tobias@Datic
und wollte das AS etwas varieren, d.h. ich wollte es nicht Horizontal scrollen lassen sondern Vertikal. Darauf hin habe ich es so geändert:
es funktioniert aber leider nicht.
Ich hatte _height in _width geändert
siehe Datei
Ich benutze den Scroller von Tobias@Datic
und wollte das AS etwas varieren, d.h. ich wollte es nicht Horizontal scrollen lassen sondern Vertikal. Darauf hin habe ich es so geändert:
Code:
slider._visible = false;
var sliding = false;
function init(h, c, m, o) {
bgnd._width = Math.round(h - up._width * 2);
down._y = bgnd._width + down._width;
this.ct = c;
this.mask = m;
this.offset = o;
startWatch();
}
function startWatch() {
slider.useHandCursor = false;
slider.onRollOver = function() {
this._alpha = 110;
}
slider.onRollOut = function() {
this._alpha = 100;
}
slider.onPress = function() {
this.startDrag(false, 0, 0, 0, bgnd._width - this._width);
sliding = true;
this._alpha = 120;
}
slider.onRelease = function() {
this.stopDrag();
this._alpha = 110;
sliding = false;
}
slider.onReleaseOutside = function() {
this.stopDrag();
sliding = false;
this._alpha = 100;
}
up.useHandCursor = false;
up.onRollOver = function() {
this._alpha = 120;
}
up.onRollOut = function() {
this._alpha = 100;
}
up.onPress = function() {
if (slider._visible) startMove(-1);
}
up.onRelease = function() {
stopMove();
}
up.onDragOut = function() {
stopMove();
this._alpha = 100;
}
down.useHandCursor = false;
down.onRollOver = function() {
this._alpha = 120;
}
down.onRollOut = function() {
this._alpha = 100;
}
down.onPress = function() {
if (slider._visible) startMove(1);
}
down.onRelease = function() {
stopMove();
}
down.onDragOut = function() {
stopMove();
this._alpha = 100;
}
this.onEnterFrame = function() {
getPos();
reDraw();
}
}
function startMove(d) {
if (speed == undefined) speed = 2;
sliding = true;
bgnd.onEnterFrame = function() {
slider._y += (d * speed);
if (slider._y < 0) slider._y = 0;
if (slider._y > bgnd._width - slider._width) slider._y = bgnd._width - slider._width;
}
}
function stopMove() {
sliding = false;
delete bgnd.onEnterFrame;
}
function getPos() {
if (sliding) {
var smax = bgnd._width - slider._width;
var scur = slider._y;
var percent = scur * 200 / smax;
var ab_pos = percent * (ct._width - mask._width) / 200;
ct._y = int(offset - ab_pos);
}
}
function reDraw() {
var ratio = ct._width / mask._width;
slider._width = Math.round(bgnd._width / ratio);
if (slider._width < bgnd._width) {
slider._visible = true;
} else {
slider._visible = false;
}
}
es funktioniert aber leider nicht.
Ich hatte _height in _width geändert
siehe Datei