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();
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();