Toon posts:

[actionscript] dynamic textField scrollbaar maken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met het volgende probleem: een dynamic textField smooth scrollbaar maken (dus niet regel voor regel -bijv. met de standaard scrollbar component- maar pixel voor pixel. Wat ik tot nu toe heb:

- symbols voor scrolldown/up-knopje
- movieclip met scrollbox
- movieclip met een textField
- movieclip met een mask
- het textField krijgt de text dynamisch mee (via .text = "lange scrollbare text"), de bedoeling is dat de text later uit een file gelezen wordt
- code om te scrollen

(dit alles is via actionscript op frame 1 gegenereerd)

Het idee is dat als je op een scrollknop drukt, de _y van de ene movieclip zo te veranderen dat hij onder de mask doorschuift (zodat hij netjes binnen de grenzen van de scrollbox blijft). Dit werkt echter niet helemaal. De text wordt niet gemasked (als ik in dezelfde movieclip iets teken, masked hij dat wel). Ik meende dat je fonts daarom moest embedden, dus dat doe ik met ".embedFonts = true". Helaas is als ik dit doe m'n hele text verdwenen (als ik weer iets teken, is dat wel zichtbaar).

Ik heb lang gezocht naar oplossingen hiervoor, maar kon werkelijk niks vinden, dus als iemand hier tips heeft hoor ik het graag.

Verwijderd

Scroll optie in Flash 5 is snelst. Sneller dan zelf scriptje schrijven, in mijn ervaring dan hoor.

Verwijderd

Topicstarter
Dat is zeker waar, maar het gaat hier niet om de snelheid waarmee ik het af krijg, maar om het feit dat ik het pixel voor pixel wil scrollen en niet regel voor regel (zoals bijv. de standaard scroll-component in flash mx).

En tuurlijk is pixel voor pixel scrollen van text normaal wel mogelijk, maar kennelijk niet met dynamic textFields...

Althans het lukt me met geen mogelijkheid, het lijkt haast een soort bug...

Verwijderd

Topicstarter
Net je site bekeken trouwens, leuke flash experimenten (beetje bit-101 af en toe, voornamelijk dat elasticiteitsgebeuren... maar ook geen smoothscroller :-P

Verwijderd

Scrollbar zit nog foutje in alleen niets aan gedaan, intro gehad. Bit-101 is kewl, vooral z'n physics experimenten zijn fun. Je kunt dynamic field toch gewoon laten scrollen als je fonts add, en dan textfield in mc en dan _y++ en _y--?

Verwijderd

Topicstarter
Dat is dus het probleem. Ik zal wel iets niet goed doen, maar als ik een textfield dynamisch text meegeef, en ik doe .embedFonts=true, dan verdwijnt m'n hele tekst, als ik .embedFonts=true weglaat (dus dan staatie eigenlijk op false), dan wordt ie niet gemasked door de movieclip die zich erboven bevindt.
Maar ik twijfel sterk of het wel kan. Ik heb ook nog geen voorbeeld-fla gezien die doet wat ik wil.

Verwijderd

Om embedFonts te kunnen laten werken moet je in je library een 'new Font' adden: die geef je een herkenbare naam (als je ook Bold en Italic wilt gebruiken moet je die ook als nwe. fonts adden), je geeft je font ook een naam in de 'linkage', dan selecteer je je net toegevoegde Font voor je dyn. textbox (hij is herkenbaar in je Fontlijst door een '*'-tje)

Voor smooth scrollen:
Je zou ook een scrollpane (met scrollbar) kunnen vullen met een mc-tje met je dynamische textfield erin. (let wel op: geef een refreshPane() als al je text ingelezen is ;-).

Geen voorbeeld .fla betekend niet dat het niet kan, maar dat het je wat meer moeite kost om het voorelkaar te krijgen. Soms zoveel moeite dat de ontwikkeldtijd niet te verantwoorden is naar open-source. Het kan ook zijn dat zoiets ontwikkeld wordt voor een baas die niet wil dat je die code open-source gooit. Geef niet op zou ik zeggen: Flash kan meer dan je denkt.

Verwijderd

Topicstarter
mr10: Bedankt dit was de oplossing. Na de font in de library gezet te hebben, kan ie hem goed embedden en wordt hij dus netjes gemasked. Eigenlijk ook logisch dat hij eerst de font nodig heeft. Weer wat geleerd in elk geval.

Ik weet dat geen voorbeeld .fla niet automatisch betekent dat het niet kan, maar ik vond het vreemd dat zoiets simpels niet al eerder is gedaan, vandaar.

Bedankt!
Pagina: 1