Skocz do zawartości

Flash: Text z obrazkami


Krystian Szabat

Rekomendowane odpowiedzi

  • Odpowiedzi 12
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Gość User190

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

Odnośnik do komentarza
Udostępnij na innych stronach

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
Odnośnik do komentarza
Udostępnij na innych stronach

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 :)

Edytowane przez graphitt
Odnośnik do komentarza
Udostępnij na innych stronach

w taki sposob, to musisz sam napisac taki element(wersja trudniejsza) albo użyć komponentu Flash'a. Najlepiej ScrollPane:

 

http://www.entheosweb.com/Flash/scrolling_content.asp

 

tu masz przykladowy tutorial i plik fla, jak chcesz podejrzec.

A żeby tak to wyglądało jakby tekst oblewal obrazki to już sobie w MC z treścią ustawisz jak chcesz.

Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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.

Edytowane przez graphitt
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności