Volledige versie bekijken : Custom slider voor textField
punch
%Europe/Berlin %465 %2005, 12:10
Ik probeer met een button of knoppen een tekstveld te laten scrollen.
De knoppen heb ik werkend, en de sliderbutton kan ik volgen als je ermee beweegt.
De vraag is nu hoe ik dan net als bij de buttons bepaal dat de tekst scrollt als de sliderbutton een bepaalde waarde bereikt heeft. In de onEnterFrame is niet de oplossing want dan gaat de tekst in 1 keer helemaal scrollen. Ik heb ook met een if then buiten de onEnterFrame gewerkt, maar daar raakte ik verstrikt van de ene in de andere. Het moet ook nog zo zijn dat als je eerste de knoppen gebruikt je het mogelijk met de sliderbutton het over kan nemen en andersom.
punch
%Europe/Berlin %531 %2005, 13:44
ik reageer maar ff zelf :)
het is opgelost het script hieronder kan je gebruiken voor een custom slidebar met textField
// scrollbar definities
scrollbar_mc.verder_btn.onPress = autoScrollDown;
scrollbar_mc.verder_btn.onRelease = verder_btn.onReleaseOutside = stopScroll;
scrollbar_mc.terug_btn.onPress = autoScrollUp;
scrollbar_mc.terug_btn.onRelease = terug_btn.onReleaseOutside=stopScroll;
scrollbar_mc.verder_btn.useHandCursor = false;
scrollbar_mc.terug_btn.useHandCursor = false;
scrollbar_mc.scrollbox_mc.useHandCursor = false;
scrollbar_mc.scrollbox_mc.onPress = function() {
scrollbar_mc.scrollbox_mc.startDrag(false, 0, 0, 0, 100);
scrollbar_mc.scrollbox_mc.onEnterFrame = function (){
sliderVal = scrollbar_mc.scrollbox_mc._y;
stepVal = 100/inhoud.maxscroll;
inhoud.scroll = sliderVal/stepVal;
}
}
scrollbar_mc.scrollbox_mc.onRelease = scrollbar_mc.scrollbox_mc.onReleaseOutside = function() {
scrollbar_mc.scrollbox_mc.stopDrag();
delete scrollbar_mc.scrollbox_mc.onEnterFrame;
}
createEmptyMovieClip("scrollControl", 1000);
function scrollDown() {
stepVal = 100/inhoud.maxscroll;
sliderVal = scrollbar_mc.scrollbox_mc._y;
if (scrollbar_mc.scrollbox_mc._y < 100) {
scrollbar_mc.scrollbox_mc._y = inhoud.scroll * stepVal;
inhoud.scroll += 1;
}
}
function scrollUp() {
stepVal = 100/inhoud.maxscroll;
sliderVal = scrollbar_mc.scrollbox_mc._y;
if (scrollbar_mc.scrollbox_mc._y > 0) {
scrollbar_mc.scrollbox_mc._y = sliderVal - stepVal;
}
inhoud.scroll -= 1;
}
function stopScroll() {
delete scrollControl.onEnterFrame;
}
function autoScrollDown() {
scrollControl.onEnterFrame = scrollDown;
}
function autoScrollUp() {
scrollControl.onEnterFrame = scrollUp;
}
Fatty Owl
%Europe/Berlin %716 %2005, 18:12
ik heb ook een script geschreven dat korter is, en zich automatisch aanpast aan de grootte van het tekstfield. (ik heb geen usehandcursor = false gebruikt). this._height = this._parent.tekstfield._height;
this._y = this._parent.tekstfield._y;
var scrollbarsize = this._height;
this.scroller_mc.onPress = function() {
this.onEnterFrame = function() {
this._y = this._parent._ymouse;
};
};
this.scroller_mc.onRelease = function() {
this.onEnterFrame = function() {
this.scroller_mc._y = this.scroller_mc._y;
};
};
this.scroller_mc.onReleaseOutside = function() {
this.onEnterFrame = function() {
this.scroller_mc._y = this.scroller_mc._y;
};
};
this.onEnterFrame = function() {
if (this.scroller_mc._y<this.scrollbarsize-scrollbarsize) {
this.scroller_mc._y = this.scrollbarsize-scrollbarsize;
}
if (this.scroller_mc._y>this.scrollbarsize) {
this.scroller_mc._y = this.scrollbarsize;
}
scrollerpos = this.scroller_mc._y;
stukje = scrollbarsize/this._parent.tekstfield.maxscroll;
this._parent.tekstfield.scroll = scrollerpos/stukje;
this.up_btn.onPress = function() {
this._parent.scroller_mc._y -= stukje;
};
this.down_btn.onPress = function() {
this._parent.scroller_mc._y += stukje;
};
};
Flasher
%Europe/Berlin %824 %2005, 20:46
this.onEnterFrame = function() {
//hier staat nog wat code
this.up_btn.onPress = function() {
this._parent.scroller_mc._y -= stukje;
};
this.down_btn.onPress = function() {
this._parent.scroller_mc._y += stukje;
};
};
Waarom defenieer je die onPress in een onEnterFrame? Dan wordt hij elk frame opnieuw geset. Het lijkt me logischer als je ze buiten de oEF zet.
latino
%Europe/Berlin %293 %2005, 08:02
Waarom defenieer je die onPress in een onEnterFrame? Dan wordt hij elk frame opnieuw geset. Het lijkt me logischer als je ze buiten de oEF zet.
hoe dan?
SaphuA
%Europe/Berlin %299 %2005, 08:11
hoe dan?
this.onEnterFrame = function() {
//hier staat nog wat code
};
this.up_btn.onPress = function() {
this._parent.scroller_mc._y -= stukje;
};
this.down_btn.onPress = function() {
this._parent.scroller_mc._y += stukje;
};
Fatty Owl
%Europe/Berlin %660 %2005, 16:51
ik heb mijn code verbeterd (een paar nieuwe functies erbij) zoals hetgene wat saphua zij en dat de grootte van de scrollbox minder wordt hoe meer tekst er is, en dat je je eigen target gemakkelijk kunt zetten: /*verander variable tekstfieldpath naar het target van je tekstveld*/
var tekstfieldpath = this._parent.tekstfield;
this._height = tekstfieldpath._height;
this._y = tekstfieldpath._y+this.down_btn._height+this.up_bt n._height;
var scrollbarsize = this._height;
this.scroller_mc.onPress = function() {
this.onEnterFrame = function() {
this._y = this._parent._ymouse;
};
};
this.scroller_mc.onRelease = function() {
this.onEnterFrame = function() {
this.scroller_mc._y = this.scroller_mc._y;
};
};
this.bar_mc.onRelease = function() {
this._parent.scroller_mc._y = this._parent._ymouse;
};
this.scroller_mc.onReleaseOutside = function() {
this.onEnterFrame = function() {
this.scroller_mc._y = this.scroller_mc._y;
};
};
this.onEnterFrame = function() {
if (this.scroller_mc._y<this.scrollbarsize-scrollbarsize) {
this.scroller_mc._y = this.scrollbarsize-scrollbarsize;
}
if (this.scroller_mc._y>this.bar_mc._height) {
this.scroller_mc._y = this.bar_mc._height;
}
scrollerpos = this.scroller_mc._y;
stukje = this.bar_mc._height/tekstfieldpath.maxscroll;
tekstfieldpath.scroll = scrollerpos/stukje;
if (this.scroller_mc._height>10) {
this.scroller_mc._height = stukje;
} else {
this.scroller_mc._height = 9;
}
};
this.up_btn.onPress = function() {
this._parent.scroller_mc._y -= stukje;
};
this.down_btn.onPress = function() {
this._parent.scroller_mc._y += stukje;
};
//edit ff een foutje eruitgehaalt
//edit 2 nog een foutje
//edit 3 nog een kleine verbetering
Fatty Owl
%Europe/Berlin %702 %2005, 17:51
er is een kleine bug hier, er is plaats opengelaten vanboven tussen up_btn. en als ik hem edit is die plaats er niet tussen....
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.