Volledige versie bekijken : extern inladen en scrollbar.
crazyme
%Europe/Berlin %746 %2005, 18:55
Hallo Allemaal.
Ik heb een probleempje. Ik heb een root fla die laad externe swf in met de volgende action script loadMovie(_root.link, _root.screen); In de swf die hij inlaad zit een scrollbar die scrollbar werkt geweldig als je het swf gewoon opend maar zodra dat swftje word geopend in de root swf dan kom die scrollbar niet meer tevoorschijn en werkt hij ook niet.
weet iemand hoe dit kan?
gr. Crazyme
Laiverd
%Europe/Berlin %784 %2005, 19:49
Tijd dat je je gaat verdiepen in het werken met meerdere tijdlijnen in Flash. In de help is daar informatie over te vinden en misschien heb je hier (http://home.hccnet.nl/john.mulder/flash/temp/multiple%20timelines.pdf) wat aan.
John
crazyme
%Europe/Berlin %787 %2005, 19:54
ik heb de tekst gelezen begrijp er nu wel meer van maar het komt er dan toch op neer als ik een swf inlaad dat een aparte timeline is en hij dat swfje dus afspeelt totdat er in dat swfje een stop staat? en dat hij dus niet stopt als er een stop staat in de _root. waarom geeft hij dan niet de scrollbar weer.
crazyme
%Europe/Berlin %882 %2005, 22:10
kan het komen doordat er in de action script van het swfje _root.voorbeeld staat
Dat hij dan dus gaat naar de root van het swfje die het andere swfje oproept? zoja hoe los ik dit op?
Laiverd
%Europe/Berlin %884 %2005, 22:12
Dat is het inderdaad meestal. _root is een absolute verwijzing. En wat je nodig hebt is een relatieve verwijzing met _parent. Je kunt het ook oplossen met this._lockroot = true in het eerste frame van de movie die je inlaadt.
John
crazyme
%Europe/Berlin %894 %2005, 22:27
nog steeds werkt hij niet hier volgende de scripts van de scrollbar.
frame 1:
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 = Math.round((scroll_down._y-(scroll_up._y+scroll_up._height))*factor);
bar_slider._width = 26;
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);
frame 2
stop();
frame 4
// scroll up
if (_root.Lijst._y<objTop) {
_root.Lijst._y = _root.Lijst._y+20;
posSlider(_root.Lijst._y, _root.Lijst._height);
gotoAndPlay("up");
} else {
gotoAndStop(2);
}
frame 6
// scroll down
if (_root.Lijst._y>objTop-_root.Lijst._height+objHeight) {
_root.Lijst._y = _root.Lijst._y-20;
posSlider(_root.Lijst._y, _root.Lijst._height);
gotoAndPlay("down");
} else {
gotoAndStop(2);
}
crazyme
%Europe/Berlin %895 %2005, 22:29
instancename lijst is trouwens de naam van het te scrollen symbol.
Laiverd
%Europe/Berlin %906 %2005, 22:45
En wat heb je gedaan met de informatie die gegeven is?
crazyme
%Europe/Berlin %907 %2005, 22:47
je bedoelt het pdfje? die heb ik gelezen en begrepen..
en die code heb ik aan het begin van me eerste frame van me flatje gezet.. de action die ik net neer heb gezet staan in de movieclip van de scrollbar.
Laiverd
%Europe/Berlin %911 %2005, 22:51
Even een wild quess: dan denk ik dat this._lockroot in de movieclip van de scrollbar moet.
John
crazyme
%Europe/Berlin %913 %2005, 22:55
dan word het als volgt
this._lockroot = true
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 = Math.round((scroll_down._y-(scroll_up._y+scroll_up._height))*factor);
bar_slider._width = 26;
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);
werkt ook niet snap er niks van!
Laiverd
%Europe/Berlin %948 %2005, 23:45
Dit is teveel code zonder commentaar om zo even door te spitten. In het algemeen zu ik zeggen: zet eens een trace op verschillende variabelen en kijk of je waarden terugkrijgt die je verwacht. Verder snap ik de code in frame 4 en 6 niet want voorzover ik kan zien komt met de huidige code de playhead daar nooit.
John
Josy
%Europe/Berlin %536 %2005, 12:52
Ik heb precies hetzelfde probleem, heeft iemand ondertussen een oplossing voor het probleem gevonden toevallig?
theFlashWizard
%Europe/Berlin %560 %2005, 13:27
crazyme, we hebben [ as] [ /as] tags, die maken het voor ons een stuk duidelijker.
pas dat dus nog heel even aan.
Dit probleem zien we ongeveer weekelijks terug, ik ga even rustig dit probleem en de oplosing daarbij 1x zo goed en duidelijk mogelijk neerzetten. Dit zal ik doen in een nieuwe topic. Knoem hem waarscheinlijk "het inladen probleem".
Deze zal ik dan als uitzondering (want het is eigenlijk geen tutorial) bij mijn tutorial lijst zetten en dan kunnen we daar voortaan naar verwijzen wanneer mensen hiernaar vragen.
Als mensen nog ideeen hebben over hoe ik deze moet invullen zijn deze welkom.
theFlashWizard
%Europe/Berlin %647 %2005, 15:32
http://www.flashfocus.nl/forum/showthread.php?t=7160
helder? :)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.