Beste mensen,
ik heb een tijd geleden een website gemaakt in flash8 met AS2. Ik heb in der tijd een script van internet gekopierd om een scrollbalk te maken. Dit werkt allemaal best ok, het probleem is alleen dat wanneer de te scrollen tekst te lang is, de onderste regels niet meer worden weergegeven. Ik heb al vanallerlei waardes in het script veranderd, maar niets lijkt te helpen. Ik vroeg me dus af of iemand hier even naar zou willen kijken, want ik denk dat het makkelijk op te lossen is, ik ben alleen nogal een noob met AS.
Ik hoop dat iemand mij op weg kan helpen! alvast bedankt!
De site is als volgt opgebouwd: verschillende scenes met daarin een Mask, met daarin een Movieclip waar de tekst in staat.
Daarbij heb ik een scrollbalk MC met daarin oa. het volgende script:
var int_slider = setInterval (setSlider, 1000);
var objHeight = _root.slider._height; // visible height of the object Lijst
var objTop = _root.slider._y; // top y value of the object Lijst
scroll_up._visible = false;
scroll_down._visible = false;
bar_slider._visible = false;
// set slider height and width
function setSlider() {
if (_root.Lijst._height > 0) {
var factor = objHeight / _root.Lijst._height;
bar_slider._height = 21;
bar_slider._width = 24.9;
clearInterval(int_slider);
// hide up, down and slider
if (_root.Lijst._height > objHeight) {
scroll_up._visible = true;
scroll_down._visible = true;
bar_slider._visible = true;
}
posSlider(_root.Lijst._y, _root.Lijst._height);
}
}
function posChapter(slidery) {
_root.Lijst._y = 0 - ((_root.Lijst._height * (slidery - scroll_up._y)) / scroll_down._y) + objTop;
if (_root.Lijst._y > objTop) _root.Lijst._y = objTop;
if (bar_slider._y < scroll_up._height) _root.Lijst._y = objTop;
}
// set position of the slider
function posSlider(mcy, mcheight) {
mcy = mcy - objTop;
bar_slider._y = scroll_up._height - ((mcy * scroll_down._y) / mcheight);
if (bar_slider._y > scroll_down._y - bar_slider._height) bar_slider._y = scroll_down._y - bar_slider._height;
if (bar_slider._y < scroll_up._y + scroll_up._height) bar_slider._y = scroll_up._y;
}
// trigger mouse scroll wheel
Mouse.removeListener (mouseListener);
mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
if (_root.Lijst._y >= objTop - _root.Lijst._height + objHeight && _root.Lijst._y <= objTop) {
_root.Lijst._y += (delta * 10);
if (_root.Lijst._y < objTop - _root.Lijst._height + objHeight) _root.Lijst._y = objTop - _root.Lijst._height + objHeight;
if (_root.Lijst._y > objTop) _root.Lijst._y = objTop;
posSlider(_root.Lijst._y, _root.Lijst._height);
}
}
Mouse.addListener(mouseListener);
// trigger up,dn,pgup,pgdn keys
Key.removeListener(keyListener);
var keyListener = new Object();
keyListener.onKeyDown = function() {
currentkey = Key.getCode();
if (currentkey == 38) {
if (_root.Lijst._y < objTop) {
_root.Lijst._y = _root.Lijst._y + 20;
}
}
if (currentkey == 33) {
if (_root.Lijst._y < objTop) {
_root.Lijst._y = _root.Lijst._y + 80;
}
}
if (currentkey == 40) {
if (_root.Lijst._y > objTop - _root.Lijst._height + objHeight) {
if (_root.Lijst._y < _root.Lijst._height) _root.Lijst._y = _root.Lijst._y - 20;
}
}
if (currentkey == 34) {
if (_root.Lijst._y > objTop - _root.Lijst._height + objHeight) {
if (_root.Lijst._y < _root.Lijst._height) _root.Lijst._y = _root.Lijst._y - 80;
}
}
posSlider(_root.Lijst._y, _root.Lijst._height);
}
Key.addListener(keyListener);
ik heb een tijd geleden een website gemaakt in flash8 met AS2. Ik heb in der tijd een script van internet gekopierd om een scrollbalk te maken. Dit werkt allemaal best ok, het probleem is alleen dat wanneer de te scrollen tekst te lang is, de onderste regels niet meer worden weergegeven. Ik heb al vanallerlei waardes in het script veranderd, maar niets lijkt te helpen. Ik vroeg me dus af of iemand hier even naar zou willen kijken, want ik denk dat het makkelijk op te lossen is, ik ben alleen nogal een noob met AS.
Ik hoop dat iemand mij op weg kan helpen! alvast bedankt!
De site is als volgt opgebouwd: verschillende scenes met daarin een Mask, met daarin een Movieclip waar de tekst in staat.
Daarbij heb ik een scrollbalk MC met daarin oa. het volgende script:
var int_slider = setInterval (setSlider, 1000);
var objHeight = _root.slider._height; // visible height of the object Lijst
var objTop = _root.slider._y; // top y value of the object Lijst
scroll_up._visible = false;
scroll_down._visible = false;
bar_slider._visible = false;
// set slider height and width
function setSlider() {
if (_root.Lijst._height > 0) {
var factor = objHeight / _root.Lijst._height;
bar_slider._height = 21;
bar_slider._width = 24.9;
clearInterval(int_slider);
// hide up, down and slider
if (_root.Lijst._height > objHeight) {
scroll_up._visible = true;
scroll_down._visible = true;
bar_slider._visible = true;
}
posSlider(_root.Lijst._y, _root.Lijst._height);
}
}
function posChapter(slidery) {
_root.Lijst._y = 0 - ((_root.Lijst._height * (slidery - scroll_up._y)) / scroll_down._y) + objTop;
if (_root.Lijst._y > objTop) _root.Lijst._y = objTop;
if (bar_slider._y < scroll_up._height) _root.Lijst._y = objTop;
}
// set position of the slider
function posSlider(mcy, mcheight) {
mcy = mcy - objTop;
bar_slider._y = scroll_up._height - ((mcy * scroll_down._y) / mcheight);
if (bar_slider._y > scroll_down._y - bar_slider._height) bar_slider._y = scroll_down._y - bar_slider._height;
if (bar_slider._y < scroll_up._y + scroll_up._height) bar_slider._y = scroll_up._y;
}
// trigger mouse scroll wheel
Mouse.removeListener (mouseListener);
mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
if (_root.Lijst._y >= objTop - _root.Lijst._height + objHeight && _root.Lijst._y <= objTop) {
_root.Lijst._y += (delta * 10);
if (_root.Lijst._y < objTop - _root.Lijst._height + objHeight) _root.Lijst._y = objTop - _root.Lijst._height + objHeight;
if (_root.Lijst._y > objTop) _root.Lijst._y = objTop;
posSlider(_root.Lijst._y, _root.Lijst._height);
}
}
Mouse.addListener(mouseListener);
// trigger up,dn,pgup,pgdn keys
Key.removeListener(keyListener);
var keyListener = new Object();
keyListener.onKeyDown = function() {
currentkey = Key.getCode();
if (currentkey == 38) {
if (_root.Lijst._y < objTop) {
_root.Lijst._y = _root.Lijst._y + 20;
}
}
if (currentkey == 33) {
if (_root.Lijst._y < objTop) {
_root.Lijst._y = _root.Lijst._y + 80;
}
}
if (currentkey == 40) {
if (_root.Lijst._y > objTop - _root.Lijst._height + objHeight) {
if (_root.Lijst._y < _root.Lijst._height) _root.Lijst._y = _root.Lijst._y - 20;
}
}
if (currentkey == 34) {
if (_root.Lijst._y > objTop - _root.Lijst._height + objHeight) {
if (_root.Lijst._y < _root.Lijst._height) _root.Lijst._y = _root.Lijst._y - 80;
}
}
posSlider(_root.Lijst._y, _root.Lijst._height);
}
Key.addListener(keyListener);