Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Własny suwak we Flashu
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Własny suwak we Flashu
Technologie webowe

Własny suwak we Flashu

WebInside.pl
Ostatnia aktualizacja: 19.12.2008
WebInside.pl
Udostępnij
Udostępnij

Często spotykanym i potrzebnym elementem aplikacji jest suwak, którego przesuwanie w poziomie lub pionie pozwala wybrać wartość z zadanego zakresu, natomiast wybrana wartość służy do sterowania innym obiektem lub skryptem.

Suwak stworzymy w niezależnym MovieClipie (MC) tak, aby można było go stosować wielokrotnie w jednym projekcie, bez konieczności duplikowania MC w bibliotece. Tworzymy w tym celu MC, nazywamy go prowadnica_mc i rysujemy w nim poziomą linię o dowolnej długości. Współrzędne x i y linii leżą na wartościach 0.

Ten MC będzie decydował o zakresie przemieszczania się uchwytu suwaka, a jego długość nie będzie miała znaczenia dla wyniku zwróconego przez suwak. Następnie tworzymy drugi MC o nazwie uchwyt_mc, rysujemy w nim kwadrat o bokach 10px (ustawiamy go na środku obszaru edycyjnego).

Przypomnę, że za dokładne ustawienie położenia obiektu odpowiada panel Align [Ctrl + k] oraz wartości w polach X i Y panelu Properties. Teraz tworzymy MC o nazwie suwak_mc. Ten MC będzie naszym suwakiem, czyli będzie przechowywał w sobie poprzednio zrobione MC i skrypt sterujący. Tworzymy w nim trzy warstwy, najniższą nazywamy prowadnica, środkową uchwyt, a górną as.

W 1 klatce warstwy prowadnica, nanosimy z biblioteki MC prowadnica_mc i ustawiamy na współrzędnych x=0 i y=0. Klikamy na tym MC i w panelu Properties w polu nadajemy mu nazwę prowadnica_mc. Nadanie tej nazwy pozwoli nam odnosić się do tego MC za pomocą ActionScriptu.

W 1 klatce warstwy uchwyt nanosimy z biblioteki MC uchwyt_mc i ustawiamy go na środku obszaru edycyjnego. W polu nadajemy mu nazwę uchwyt_mc.

Przechodzimy do sceny głównej i z biblioteki przeciągamy na nią MC suwak_mc (warstwę z suwakiem nazywamy suwak). Teraz możemy przetestować nasz film [Ctrl + Enter]. Jeżeli widzimy na scenie suwak wszystko jest OK. Jednak na razie z naszym suwakiem nic się nie dzieje, aby to zmienić napiszemy odpowiedni skrypt. Wracamy do okna sceny głównej i klikamy dwa razy na MC suwak_mc przechodząc w ten sposób do jego edycji. Zaznaczamy pierwszą klatkę warstwy as i otwieramy panel Actions – Frame.

Wstawiamy tu kod, który za chwilę omówimy:

this.dlugoscPrzesuniecia = Math.abs(this.dlugosc == undefined ? 100 : !isNaN(this.dlugosc) ? this.dlugosc : 100);this.skalaObliczen = Math.abs(this.skala == undefined ? 100 : !isNaN(this.skala) ? this.skala : 100);this.wartoscPoczatkowa = Math.abs(this.wartosc == undefined ? 0 : !isNaN(this.wartosc) ? this.wartosc : 0);this.wartoscPoczatkowa > this.skalaObliczen ? this.wartoscPoczatkowa = this.skalaObliczen : null;prowadnica_mc._width = this.dlugoscPrzesuniecia;uchwyt_mc._x = (this.wartoscPoczatkowa / this.skalaObliczen) * prowadnica_mc._width;this.wynik = this.wartoscPoczatkowa;uchwyt_mc.onPress = function() {this.startDrag(true, 0, 0, prowadnica_mc._width, 0);this.onMouseMove = function() {this._parent.wynik = Math.ceil(this._x / prowadnica_mc._width * this._parent.skalaObliczen);updateAfterEvent();};};uchwyt_mc.onMouseUp = function() {this.stopDrag();delete this.onMouseMove;};

Suwak może przyjąć z zewnątrz trzy zmienne z określonymi parametrami decydujące o jego ustawieniach.

dlugosc – decyduje o długości obszaru suwanego

skala – decyduje o zakresie obliczeń suwaka od 0 do podanej wartości

wartosc – decyduje o początkowej wartości suwaka

1 – 3 LINIA KODU – jeżeli zmienne lub któraś z nich nie zostaną zadeklarowane to 3 pierwsze linijki kodu ustawią odpowiednio; długość obszaru przesuwania na 100px, skalę suwaka na 0-100 a wartość początkową na 0; Podobnie się stanie, gdy wartości podane w zmiennych nie będą wartościami liczbowymi.

Wszystkie podane liczby ujemne zostaną zmienione na dodatnie.

this.dlugoscPrzesuniecia = Math.abs(this.dlugosc == undefined ? 100 : !isNaN(this.dlugosc) ? this.dlugosc : 100);this.skalaObliczen = Math.abs(this.skala == undefined ? 100 : !isNaN(this.skala) ? this.skala : 100);this.wartoscPoczatkowa = Math.abs(this.wartosc == undefined ? 0 : !isNaN(this.wartosc) ? this.wartosc : 0); 

4 LINIA KODU – sprawdza czy podana wartość początkowa mieści się w zakresie skali suwaka, jeżeli jest większa to zostaje ona ustawiona na największą z możliwych wartości w skali.

this.wartoscPoczatkowa > this.skalaObliczen ? this.wartoscPoczatkowa = this.skalaObliczen : null;

5 LINIA KODU – ustawia długość MC prowadnica_mc, a co za tym idzie określa długość obszaru suwanego.

prowadnica_mc._width = this.dlugoscPrzesuniecia;

6 LINIA KODU – ustawia MC uchwyt_mc na współrzędnych zgodnych z wartoścą początkową suwaka.

uchwyt_mc._x = (this.wartoscPoczatkowa / this.skalaObliczen) * prowadnica_mc._width;

7 LINIA KODU – ustawia początkowy wynik zwracany przez suwak na wartość początkową.

this.wynik = this.wartoscPoczatkowa;

8 – 14 LINIA KODU – dodaje do uchwyt_mc uchwyt zdarzenia onPress decydujący o tym co się stanie po kliknięciu na ten MC.

Po kliknięciu uruchamia funkcję startDrag pozwalającą na przesuwanie klipu myszką, parametry tej funkcji pozwalają na przeciąganie go tylko w zakresie długości klipu prowadnica_mc.

Włącza uchwyt zdarzenia onMouseMove, który przy każdym ruchu myszy, a więc przy przesuwaniu suwaka oblicza wartość z zakresu od 0 do wartości podanej, lub domyślnej skali.

uchwyt_mc.onPress = function() {this.startDrag(true, 0, 0, prowadnica_mc._width, 0);this.onMouseMove = function() {this._parent.wynik = Math.ceil(this._x / prowadnica_mc._width * this._parent.skalaObliczen);updateAfterEvent();};}; 

15 – 18 LINIA KODU – uchwyt zdarzenia onMouseUp wykrywa zwolnienie przycisku myszy i wyłącza metodę startDrag oraz usuwa uchwyt onMouseMove.

uchwyt_mc.onMouseUp = function() {this.stopDrag();delete this.onMouseMove;}; 

Teraz możemy przetestować nasz suwak. Powinien on znajdować się już na scenie głównej. Zaznaczamy go i nadajemy mu nazwę w polu Instance Name np. suwak1.

Tworzymy nad nim nową warstwę o nazwie test. Na tej warstwie wstawiamy dynamiczne pole tekstowe o Instance Name odczyt_txt. Wstawiamy najwyższą trzecią warstwę o nazwie as, otwieramy panel Actions – Frame i wpisujemy do niego kod:

suwak1.dlugosc = 200;suwak1.skala = 300;suwak1.wartosc = 50;this.onEnterFrame = function() {odczyt_txt.text = suwak1.wynik;}; 

Testujemy film. Jeżeli wszystko zostało wykonane prawidłowo zobaczymy pole tekstowe z zapisana wartością 50, gdyż początkowa wartość suwaka to właśnie 50. Suwak będzie miał szerokość przesuwu 200px i zakres skali od 0 do 300.

Zmieniając położenie uchwytu suwaka zmieniamy również wartość przez niego zwracaną. Ale to żadna radość zmieniać treść w polu tekstowym. Poeksperymentujcie z innymi zastosowaniami np.:

suwak1.dlugosc = 100;suwak1.skala = 100;suwak1.wartosc = 50;this.onEnterFrame = function() {jakis_mc._width = suwak1.wynik;}; 

Suwak jest o tyle uniwersalny, że można go obracać wzglądem własnej osi uzyskując możliwość jego działania (przesuwania) w różnych kierunkach.

W razie pytań, lub wątpliwości zapraszamy na .

Marek Redesiuk

Autor prowadzi stronę .

Może Cię zainteresować

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

Serwer dla małej firmy – czym kierować się przy jego wyborze?

WebInside.pl 2008-12-19 2008-12-19
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Formatowanie tekstu za pomocą HTML i CSS, cz. 2
Następny artykuł Moja przygoda z webdesignem
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Procesor AMD Ryzen 7
Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
Technologie
Jak przygotować sklep internetowy na automatyzację obsługi klienta?
Artykuły partnerskie
the nvidia logo is displayed on a table
Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
AI Aktualności
Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?
E-marketing
4 najczęstsze cyberzagrożenia w przemyśle
Technologie
Jak uratować zaschnięty tusz do drukarki? Skuteczne domowe sposoby i porady
Poradniki
Model 3D jako wspólne źródło danych dla projektu, produkcji i montażu
Artykuły partnerskie
Dlaczego wideo z telefonu sprzedaje na TikToku lepiej niż profesjonalne spoty?
Artykuły partnerskie
Dwa ekrany zawsze pod ręką – zalety korzystania z monitora przenośnego na co dzień
Technologie
Rola nowoczesnych technologii w procesie rehabilitacji
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

5 min czytania
Technologie webowe

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

7 min czytania
MacBook Pro showing programming language
Technologie webowe

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

9 min czytania
AktualnościTechnologie webowe

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

9 min czytania
woman in black top using Surface laptop
Technologie webowe

Serwer dla małej firmy – czym kierować się przy jego wyborze?

5 min czytania
Technologie webowe

Jaki hosting wybrać pod Laravel? Kompleksowy przewodnik dla twórców aplikacji webowych

6 min czytania
programming language
Technologie webowe

Kaskadowość w CSS – wszystko, co musisz wiedzieć

7 min czytania
two women talking while looking at laptop computer
Technologie webowe

Darmowe kreatory stron WWW – stwórz swoją stronę w godzinę

14 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy

Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
  • Jak przygotować sklep internetowy na automatyzację obsługi klienta?
  • Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
  • Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?