geschmeidiger MC-Scroller

mardazad

Erfahrenes Mitglied
Hallo Allerseits,
weiß jemand wie ich es hinkriege einen MC-Scroller zu bauen, der den Inhalt des Clips noch ein wenig gleiten und abbremsen läßt wenn man den Scrollbalken losläßt.
Ich will ein statisches Textfeld scrollen und das Ganze soll nicht so abgehackt wirken...

Im Anhang habe ich ein .fla indem die Bewegung gescriptet ist, aber ich kriege es nicht hin das Script auf einen Scrollbalken umzubauen...

Danke schonmal fürs Helfen
 

Anhänge

  • geschmeidig.fla.zip
    11,8 KB · Aufrufe: 34
..vielleicht hätte ich Depp auch den Scrollbar anhängen sollen... ;)
 

Anhänge

  • Scrollbar.fla.zip
    8,2 KB · Aufrufe: 30
Hi,

statt diesem scheinbar für Flash 4 geschriebenen Scrollbar habe ich einfach mal meinen Scroller (v4) genommen - der sieht eigentlich fast genau so aus und ich muss nicht tief in den Code einsteigen, um Dein Problem zu lösen, da das "Scrollen" ansich nicht vom Scroller, sondern von dem Hauptfilm aus erledigt werden kann.

Ich übergebe dem Scroller einfach einen Verweis auf die Hauptzeitleiste als Target und definiere dort folgende Funktion:
PHP:
function setScroll(val) {
	this.onEnterFrame = function() {
		scrollingClip._y += ((mask._y - val) - scrollingClip._y) / 4;
	}
}
, damit bewegt sich der Clip dann halbwegs abgebremst. ;)

Gruß
.
 

Anhänge

  • Scrollbar1005_mx.zip
    6,5 KB · Aufrufe: 47
Datic,
ich kann es nur immer wieder sagen: was wäre ich ohne dich?
Vielen Dank, es sieht nach ner Menge Arbeit aus?!
 
Hi Datic,
hab mich wohl etwas zu früh gefreut...
Ich habe den ganzen Abend versucht deinen Scroller in einem MC unterzukriegen. Den Mc brauche ich, weil ich blenden muß...

Ich habe dabei folgende Probleme:
a) der Anfasser bzw. Slider ist weg
b) der Slider soll nicht proportional zum ScrollingClip sein, sondern eine feste Größe haben
c) der gescrollte Text müßte am Besten immer auf einen ganzzahligen Pixelwert rutschen, damit die Typo nicht unscharf wird
d) der Text sollte nur bis zum Ende scrollbar sein und nicht "ausm Bild" geslidet werden können

Ein ganz schöner Katalog an Aufgaben, aber ehrlich gesagt bin ich ohne dich total aufgeschmissen. Hab nämlich nachher ne Deadline. Und ich hab wirklich die ganze Zeit versucht da durchzusteigen. Bin bloß einfach nicht fit genug für sowas...

Vielen lieben Dank im Vorraus...
Liebe Grüße
 

Anhänge

  • datic-scroller.fla.zip
    8 KB · Aufrufe: 27
Hi,

1. Die Maske muss ein MovieClip sein und auch einen passenden Instanznamen (mask) tragen (Immerhin übergibtst Du der Funktion init() ja u.a. Maskenposition und -Referenz).

2. Nimm ein dynamisches Textfeld, binde die Zeichen ein und stelle es auf "mehrzeilig".

3. Stelle die autoSize-Eigenschaft des Textfeldes auf true, sonst kommt es zu Fehlern bei der Berechnung der Höhe.

3. Antialiasing erreichst Du besser durch die Option in den Textfeldeigenschaften und dem Export für Player 7. Ansonsten kannst Du auch mit
PHP:
function setScroll(val) {
	this.onEnterFrame = function() {
		scrollingClip._y += ((mask._y - val) - scrollingClip._y) / 4;
		scrollingClip._y = int(scrollingClip._y);
	}
}
z.B. eine Anzeige auf ganzzahligen Positionen erzwingen.

4. Um dem Anfasser eine fixe Größe zu geben, kommentiere den Aufruf der Funktion "reDraw" im Scroller aus, schalte den Scrollbalken manuell sichtbar und editiere direkt die Höhe des Anfassers.

Gruß
.
 

Anhänge

  • datic-scroller2.zip
    19,9 KB · Aufrufe: 31
lol ... ist das ironisch gemeint, oder habe ich das tatsächlich getan? ^^

Gruß

Sorry für den "Chatausdruck", aber der musste mal sein.
.
 
Hi,
das ist nicht ironisch gemeint! - sondern sehr angenehm für Leute wie mich, die schon ein leicht beklemmendes Gefühl in der Magengegend kriegen wenn da irgendwo function() steht. huhuha, ich versuche es immer wieder und lerne auch dauernd ein bißchen dazu, aber es ist und bleibt ein kleiner Horror wenn ich vor Codes sitze, wo ich erstmal eine Viertelstunde brauche um zu raffen, worum es ungefähr geht...

Ohne unsere Diskussion von neulich wieder zu entfachen, aber hier (Slidergröße) zum Beispiel hattest du recht: Form follows function();

Liebe Grüße
 

Neue Beiträge

Zurück