PDA

Volledige versie bekijken : btnUp van scrollbar werkt niet meer na kopie


Luane11
%Europe/Berlin %426 %2009, 11:13
Hallo,

Ik zit met een probleem mbt mijn scrollbar(s)

Mijn .fla file ziet er als volgende uit:

Hoofdmenu
-bevat verschillende hoofdstukken met buttons. Door op een button te klikken kom je in een hoofdstuk, bijv. 'bouwbesluit- en EPC berekeningen'

Hoofdstukmenu
'bijv. 'bouwbesluit- en EPC berekeningen
-bevat projecten van desbetreffend hoofdstuk. Deze zitten in een scrollbar (projecten zijn buttons die samen in een mc zitten. Deze mc kun je laten bewegen dmv een scrollbar)
-bevat een scrollmenu met de overige hoofdstukken. (overige hoofdstukken zijn buttons die samen in een mc zitten. Deze mc kun je laten bewegen dmv een scrollbar)

Aangezien ik niet goed ben in het schrijven van actionscripts, had ik via een tutorial mijn eigen scrollbar gemaakt voor een menu van de overige hoofdstukken op elke hoofdstukpagina. Deze werkte goed.

Omdat ik deze scrollbar ook wou toepassen op mijn projectenmenu, heb ik voor de scrollbar dezelfde mc's gebruikt en in een nieuwe laag gekopieerd. Daarbij heb ik de instantienamen veranderd. Wel heb ik een nieuwe mask gemaakt en een nieuwe content mc. Deze heb ik ook nieuwe instantienamen gegeven

In mijn actionscript heb ik het actionscript van de scrollbar gekopieerd en de instantienamenveranderd. (zie hieronder). Alles werkt, behalve de btnUp1. Wanneer ik hier op klik blijft mijn projectenmenu steken op project 4, ipv dat hij helemaal naar boven scrollt en eindigt bij project 1. Ik heb de scripts al gecontroleerd, maar kan geen fouten vinden.

Wat doe ik verkeerd? En hoe kan ik dit oplossen.
Uiteindelijk wil ik dit script ook bij de andere hoofd plaatsen, wat moet ik dan niet over het hoofd zien?

ps. sorry voor de lange uitleg, maar hopelijk is het nu duidelijk wat mijn probleem is. Ik heb voor de zekerheid nog wel mijn .fla file als bijlage toegevoegd. (andere delen van mijn website ff gedelete om je meer overzicht te geven)

stop();

//scroll menu bar hoofdstukjes
scrolling = function () {
var scrollHeight:Number = scrollTrack._height;
var contentHeight:Number = contentMain._height;
var scrollFaceHeight:Number = scrollFace._height;
var maskHeight:Number = maskedView._height;
var initPosition:Number = scrollFace._y=scrollTrack._y;
var initContentPos:Number = contentMain._y;
var finalContentPos:Number = maskHeight-contentHeight+initContentPos;
var left:Number = scrollTrack._x;
var top:Number = scrollTrack._y;
var right:Number = scrollTrack._x;
var bottom:Number = scrollTrack._height-scrollFaceHeight+scrollTrack._y;
var dy:Number = 0;
var speed:Number = 10;
var moveVal:Number = (contentHeight-maskHeight)/(scrollHeight-scrollFaceHeight);

scrollFace.onPress = function() {
var currPos:Number = this._y;
startDrag(this, false, left, top, right, bottom);
this.onMouseMove = function() {
dy = Math.abs(initPosition-this._y);
contentMain._y = Math.round(dy*-1*moveVal+initContentPos);
};
};
scrollFace.onMouseUp = function() {
stopDrag();
delete this.onMouseMove;
};
btnUp.onPress = function() {
this.onEnterFrame = function() {
if (contentMain._y+speed<maskedView._y) {
if (scrollFace._y<=top) {
scrollFace._y = top;
} else {
scrollFace._y -= speed/moveVal;
}
contentMain._y += speed;
} else {
scrollFace._y = top;
contentMain._y = maskedView._y;
delete this.onEnterFrame;
}
};
};
btnUp.onDragOut = function() {
delete this.onEnterFrame;
};
btnUp.onRollOut = function() {
delete this.onEnterFrame;
};
btnDown.onPress = function() {
this.onEnterFrame = function() {
if (contentMain._y-speed>finalContentPos) {
if (scrollFace._y>=bottom) {
scrollFace._y = bottom;
} else {
scrollFace._y += speed/moveVal;
}
contentMain._y -= speed;
} else {
scrollFace._y = bottom;
contentMain._y = finalContentPos;
delete this.onEnterFrame;
}
};
};
btnDown.onRelease = function() {
delete this.onEnterFrame;
};
btnDown.onDragOut = function() {
delete this.onEnterFrame;
};

if (contentHeight<maskHeight) {
scrollFace._visible = false;
btnUp.enabled = false;
btnDown.enabled = false;
} else {
scrollFace._visible = true;
btnUp.enabled = true;
btnDown.enabled = true;
}
};
scrolling();

contentMain.bouwbesluit_btn.onRelease = function(){
gotoAndStop("diensten", "bouwbesluit");
}
contentMain.bouwaanvragen_btn.onRelease = function(){
gotoAndStop("diensten", "bouwaanvragen");
}
contentMain.digitaliseren_btn.onRelease = function(){
gotoAndStop("diensten", "digitaliseren");
}
contentMain.ontwerp_btn.onRelease = function(){
gotoAndStop("diensten", "ontwerptekeningen");
}
contentMain.revisi_btn.onRelease = function(){
gotoAndStop("diensten", "revisitekeningen");
}
contentMain.tutorials_btn.onRelease = function(){
gotoAndStop("diensten", "tutorials");
}
contentMain.animatie_btn.onRelease = function(){
gotoAndStop("diensten", "animatie");
}
contentMain.werk_btn.onRelease = function(){
gotoAndStop("diensten", "werk");
}




//scroll menubar porjecten
// ik heb het bovenstaande script gekopieerd en de instantienamen veranderd.
//Alles werkt, behalve de wanneer ik op de button Up klik scrollt mijn 'projectenmenu' niet helemaal
// naar boven en blijft hij steken bij project 4.
scrolling = function () {
var scrollHeight:Number = scrollBalk1._height;
var contentHeight:Number = contentProj1mc._height;
var scrollBar1Height:Number = scrollBar1._height;
var maskHeight:Number = maskedView1._height;
var initPosition:Number = scrollBar1._y=scrollBalk1._y;
var initContentPos:Number = contentProj1mc._y;
var finalContentPos:Number = maskHeight-contentHeight+initContentPos;
var left:Number = scrollBalk1._x;
var top:Number = scrollBalk1._y;
var right:Number = scrollBalk1._x;
var bottom:Number = scrollBalk1._height-scrollBar1Height+scrollBalk1._y;
var dy:Number = 0;
var speed:Number = 10;
var moveVal:Number = (contentHeight-maskHeight)/(scrollHeight-scrollBar1Height);

scrollBar1.onPress = function() {
var currPos:Number = this._y;
startDrag(this, false, left, top, right, bottom);
this.onMouseMove = function() {
dy = Math.abs(initPosition-this._y);
contentProj1mc._y = Math.round(dy*-1*moveVal+initContentPos);
};
};
scrollBar1.onMouseUp = function() {
stopDrag();
delete this.onMouseMove;
};
btnUp1.onPress = function() {
this.onEnterFrame = function() {
if (contentProj1mc._y+speed<maskedView1._y) {
if (scrollBar1._y<=top) {
scrollBar1._y = top;
} else {
scrollBar1._y -= speed/moveVal;
}
contentProj1mc._y += speed;
} else {
scrollBar1._y = top;
contentProj1mc._y = maskedView1._y;
delete this.onEnterFrame;
}
};
};
btnUp1.onDragOut = function() {
delete this.onEnterFrame;
};
btnUp1.onRollOut = function() {
delete this.onEnterFrame;
};
btnDown1.onPress = function() {
this.onEnterFrame = function() {
if (contentProj1mc._y-speed>finalContentPos) {
if (scrollBar1._y>=bottom) {
scrollBar1._y = bottom;
} else {
scrollBar1._y += speed/moveVal;
}
contentProj1mc._y -= speed;
} else {
scrollBar1._y = bottom;
contentProj1mc._y = finalContentPos;
delete this.onEnterFrame;
}
};
};
btnDown1.onRelease = function() {
delete this.onEnterFrame;
};
btnDown1.onDragOut = function() {
delete this.onEnterFrame;
};

if (contentHeight<maskHeight) {
scrollBar1._visible = false;
btnUp1.enabled = false;
btnDown1.enabled = false;
} else {
scrollBar1._visible = true;
btnUp1.enabled = true;
btnDown1.enabled = true;
}
};
scrolling();

-ADV-
%Europe/Berlin %487 %2009, 12:42
Ik kan helaas je file niet openen, heb je mogelijkheid om deze als flash8 of cs3 op-te-slaan?

Groet,

-ADV-

Luane11
%Europe/Berlin %492 %2009, 12:48
Hallo ADV,

Bij deze het bestand in CS3 formaat

Groeten Luane11

-ADV-
%Europe/Berlin %521 %2009, 13:30
btnUp1.onPress = function() {
this.onEnterFrame = function() {
if (contentProj1mc._y+speed<maskedView1._y) {
if (scrollBar1._y<=top) {
scrollBar1._y = top;
} else {
scrollBar1._y -= speed/moveVal;
}
contentProj1mc._y += speed;
} else {
scrollBar1._y = top;
contentProj1mc._y = maskedView1._y;
delete this.onEnterFrame;
}
};
};
Ik weet niet precies waar de oorzaak ligt, dit aan gebrek aan kennis denk ik.
Wat ik wel gezien heb en had veranderd is dat ik de contentProj1mc geopend
heb alle MC daarin geselecteerd heb en precies op de linkerboven hoek alles op
het kruisje (align) gezet heb. Dan is het al een stuk beter en gaat het helemaal
naar boven en helemaal naar onderen.
Toch als je direct op de btnUp1 drukt dan gaat ie nog steeds
iets verschuiven..maar dan moet je even iemand hebben die je AS actie beter kan
bekijken, want ik zie het helaas niet 123..

Hoop dat het helpt, als je mijn voorbeeld wilt hoe ik het toch recht heb gekregen dan hoor
ik dat wel..

Groet,

-ADV-

Luane11
%Europe/Berlin %611 %2009, 15:40
Hallo AVD,

Hij verspringt inderdaad nog iets, hoe dat kan weet ik ook niet. Maar ben al erg blij dat hij weer helemaal naar bovenscrollt als je op de bntUp drukt. Aangezien de scroller dit al wel deed was ik in de verondersteling dat het iets met mijn script was, ipv het niet goed positioneren van mijn buttons in mijn movieclip!

Bedankt!

Groeten Luane11