Jump to content

Flash: Text z obrazkami


Krystian Szabat
 Share

Recommended Posts

Guest User190

Opisz dokładnie metodę jakiej używasz i środowisko w jakim piszesz (AS2/3), a myślę, że i odpowiedź się znajdzie :)

Link to comment
Share on other sites

Do zwykłego textfielda obrazka raczej nie wrzucisz. Ale wiedząc ile pixeli wysokości ma jedna linijka tekstu, możesz równolegle ze .scroll zwiększać ._y dla obrazka będącego oddzielnym movieclipem.

 

on(press){
scrtxt.scroll--
McObrazek._y++
}

 

Tak na marginesie, możesz używać --, ++, +=x, -=x jeśli chcesz pomniejszać zmienne o jakieśtam wartości, po prostu będzie szybciej:)

I jeszcze on(press) jest składnią AS1, niby w AS2 działa ale lepiej chyba stosować button.onPress=function(), dzięki temu można mieć cały kod w jednej klatce i łatwiej jest wszystko później edytować.

  • Confused 1
Link to comment
Share on other sites

scrtxt to zmienna?? a jaka :) To raczej nazwa pola tekstowego.

Lucas ma racje co do skladni. Swoja drogą możesz użyć scrollPena i tam bedziesz miał pole do którego możesz podpiąć MC z tekstem i obrakami.

 

Druga metoda to poprostu zrobić MC z tekstem i obrazkami, zamaskować go pod wzgledem tego co chcesz zeby było widoczne i przesuwać(zmieniać) jego _y :)

Edited by graphitt
Link to comment
Share on other sites

Bez komponentów to z automatu obawiam się, że tak nie zrobisz, po prostu trzebaby ustawić pola tekstowe i obrazki obok nich tak żeby ładnie wyglądało:). Najlepiej chyba byłoby załadować HTMLa ale o ile pamiętam chyba nie da rady bez użycia komponentów i w ogóle dodatkowego oprogramowania. Dla pól tekstowych jest coś takiego jak .htmlText obsługujący wiele tagów html, akurat nie obsługuje więc od razu możesz sobie darować.

 

Jak narazie chyba metoda graphitta z tym zamaskowanym MC wydaje się najłatwiejsza.

 

Co do najazdu myszą - analogicznie jak do naciśnięcia, czyli zamiast onPress [on(press)] dajesz onRollOver [on(rollOver)].

 

Trochę problemów zaczyna się robić w momencie jeśli coś ma się dziać przez cały czas gdy kursor jest nad przyciskiem - wtedy powinieneś się pobawić albo setInterval (który będzie powtarzał jakąś funkcję w odstępach czasu) albo łatwiej chyba onEnterFrame http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary546.html. Poczytaj o obu tych rzeczach.

Link to comment
Share on other sites

Dobra odpuszcze sobie te obrazki w tekscie.

a moze zna ktros jakis fajny tutek jak zrobic suwak do tekstu zeby nie trzeba bylo przesowac tekstu przyciakami gora/dol tylko sowakiem takim jak np tu po prawej.

O i kazdy kto wziol udzial w tym poscie i staral sie pomoc dostaje plusa do reputacji

Link to comment
Share on other sites

Google...

http://www.kirupa.com/developer/flash8/scrollbar.htm u jest jakiś ale szczerze mówiąc coś za dużo tego mi się wydaje;)

 

Ja zazwyczaj robię to w oparciu on onPress, onMouseMove i onRelease i jakiegoś obiektu który będzie służył za suwak.

 

Najpierw określ sobie jak daleko będziesz mógł ten suwak przesuwać, można prostymi warunkami if:

 

suwak.onPress=function(){
    suwak.onMouseMove=function(){ //operacje które będą wykonywane podczas przesuwania
          if(_ymouse>gornaGranica and _ymouse                suwak._y=_ymouse //movieclip służący za suwak będzie się przesuwał z myszką
          }
    }
}
suwak.onRelease=suwak.onReleaseOutside=function(){ //onReleaseOutside jest na wszelki wypadek, bo może się zdarzyć, że klawisz myszki zostanie podniesiony gdy kursor nie będzie się już znajdował nad suwakiem. 
    suwak.onMouseMove=function(){
         ; //nic się tu nie dzieje, i właśnie o to chodzi, żeby przerwać działanie tego, co było w onMouseMove
    }
}

 

W tym momencie powinieneś mieć przesuwający się suwak, teraz trza do niego podpiąć zawartość którą będziesz przesuwał, może i funkcja w funkcji to nienajlepsza składnia ale jednak przynosi pożądane efekty:)

 

Stwórz sobie MovieClip w którym będzie ten tekst/dane/whatever wyświetlał i zamaskuj go prostokątem o takiej wysokości jaka ma być pokazywana (w domyśle takiej jakiej suwak ale oczywiście możesz chcieć mieć dużo mniejszy suwak niż zawartość, to nie problem)

 

Teraz znając wysokość prostokąta maskującego, całą wysokość pola tekstowego i zakres przesuwania się suwaka możesz wysnuć prostą zależność, że wspołrzędna y suwaka względem jego zakresu powinna się mieć tak jak współrzędna pola tekstowego względem całej jego wysokści:)

 

Tak więc tak gdzie teraz jest suwak._y=_ymouse możemy dodać:

 

procent=(suwak._y-gornaGranica)/(dolnaGranica-gornaGranica)
tekst._y=-(tekst._height*procent)+jakiesStalePrzesuniecie //wartość na minusie bo przecież tekst w druga stronę będzie się przesuwał

 

W skrócie to tyle, być może będziesz musiał nieco podrasować te wartości liczbowe, żeby tekst na pewno zgrywał się z suwakiem, mogą być w tym kodzie jakieś błędy - nie mam tutaj Flasha i pisałem z pamięci.

Link to comment
Share on other sites

No to musisz samemu napisac skoro to nauczyciel kazal :)

zeby zrobic pasek przesowania, to troche kodowania jest jednak.

polecam www.gotoandlearn.com

Na kirupie jest tez dobrze. Najlepiej miec taki suwak w oddzielnym MC.

Zeby zawsze był taki sam i do uzycia w rożnych aplikacjach.

 

PS.

Lucas - im dalej w lAS tym wiecej tagow htmlwych widzi. IMG tez.

Edited by graphitt
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy