Bildlaufleiste / Skrollbalken funktioniert nicht

mostlutscher

Grünschnabel
Hallo,

zu Beginn möchte ich euch mitteilen, dass ich mich in AS nicht sonderlich gut auskenne (anders als im Rest von Flash).

zur Problembeschreibung:
Mache mir gerade eine Flash-Website und bin nun am Skrollbalken angelangt. Da ich nicht den von Flash zur verfügung gestellten Skrollbalken verwenden wollte, hab ich mich sofort ans Werk gemacht um einen eigenen zu konstruieren/programmieren.
Es sollte noch klargestellt werden, dass dieser Skrollbalken nur Graphisch ein Skrollbalken ist.

Mein Problem ist, dass dieser, mangels Wissen, nicht wirklich funktioniert.
Der Skrollbalken bewegt sich zwar hin und wieder, aber nur "ruckelweise".

Die rot hervorgehobenen Abschnitte (bei && bin ich mir unsicher) sind meiner Überlegung nach nicht richtig. Jedoch fehlt mir leider das Wissen diese zu korrigieren.

Quellcode folgt:

this.onEnterFrame = function() {

by1 = 159; //bildlaufleiste y-wert oben
by2 = 571; //bildlaufleiste y-wert unten
ty1 = 179.0; //text (punkt oben) oben y-wert
ty2 = -213.5; //text (punkt unten) unten y-wert; text nach oben verschoben
ymo; //differenz von regler und maus y-wert

bll_btn.onRollOver = function() { //da der button höher als 1px ist, muss
ymo = bll_btn._y - _ymouse;//die differenz zur maus gemessen werden, bevor man drückt.
}
bll_btn.onPress = function() {
if(bll_btn._y >= by1 && bll_btn._y <= by2){//wenn der button zwischen dieser strecke ist, dann . . .
bll_btn._y = _ymouse + ymo;
}

}
text_txt._y = ty1 + (((by1 - bll_btn._y)*(ty1-ty2))/(by2 - by1));//position des textes, wenn position des buttons verändert wird
}

Noch kurz zur Formel für die Veränderung des Skrollbalkens (Formel stimmt):
[(ty1 - text_txt._y)/(ty2 - ty1)] = - [(by1 - bll_btn._y)/(by2 - by1)]

mfg mostlutscher
 
Hallo

1. du weist in der onEnterFrame Funktionen zu - das heißt, dass bei jedem Frame diese Fuktionen immer wieder neu eingerichtet werden. Besser.
Code:
bll_btn.onPress = function() {
 irgendwas.onEnterFrame = funtcion() {
   // bla.y = 37.5;
  }
}
bll_btn.onRelease = function() {
 delete(irgendwas.onEnterFrame);
}

2. verstehe nicht grant was das onRollOver soll, was soll denn passieren wenn man mit der Maus über den scrollbalken fährt?

&& ist richtig.

Gruß
.
 
vor dem this.onEnterFrame steht noch ein stop(); --> das bedeutet jetzt, dass onEnterFrame sinnlos ist (richtig?).

zu erstens:
wenn ich den Code richtig verstanden habe, ist mit // bla.y = 37.5; der restliche code gemeint.
Wenn ja, funktioniert dies nicht, da das Grundproblem nicht behoben wurde.

zu zweitens:
Wie oben schon erwähnt ist es nicht wirklich ein Scrollbalken, sondern nur ein Button, dessen y-Koord. verändert wird und dadurch (durch y-Koord.) der Text in die entgegengesetzte Richtung (am Bildschirm sieht es wie ein Scrollbalken aus).

Dadurch muss man vorher (bevor man klickt) die Differenz zwischen Maus und Button ermitteln, da sonst der Button - y-Wert - sofort auf Höhe des Mauszeigers springt. (bll_btn._y = _ymouse + ymo; )
Leider fehlen mir die nötigen AS-Kenntnisse und habe dieses RollOver (und auch noch andere .on Befehle (?)) ausprobiert.

Habe bisher noch keine Lösung des Problems finden können, weder durch Ausprobieren noch durch Suchen im Internet, obwohl es eigentlich einfach zu lösen sein müsste. :confused:
 
Zuletzt bearbeitet:
Nein, kannte ich nicht!
Habe mir dieses gerade kurz durchgelesen und werde mich sofort ans Werk machen und es auch durchmachen.

Nur noch eine kurze (dumme) Frage bezüglich Tutorial: Vor jedem Codeabschnitt, steht PHP-Code. Das bedeutet aber nicht, dass man das in PHP schreiben muss (fingen erst letzte Woche mit PHP in der Schule an, deshalb kann ich es nicht/kaum), sondern nur, damit es schön formatiert ist, oder?

Somit wäre mein Problem auch gelöst. Werde im laufe des Tages den Thread als "erledigt" setzen, falls keine weiteren Probleme dazu auftauchen.

Danke für die schnelle Hilfe.

MfG mostlutscher
 
Zurück