[ Pobierz całość w formacie PDF ]
.Może ona wpływać na zachowanie się innych części filmu, ale nie chcemy, aby powodowała ukrycie więcej niż 10 klipów.Możemy użyć akcji break zagnieżdżonej w warunku if, aby do tego nie dopuścić:licznik = 1;while(licznik <=gornaGranica){if(licznik > 10){break;}_root["klip_" + licznik]._visible = false;licznik++;}Instrukcje break powinny być najczęściej używane do wyłapywania błędów (w czasie usuwania błędów z filmu) lub, gdy trzeba natychmiast opuścić pętlę.Akcja continuePodobnie jak break akcja continue powoduje zakończenie wykonywania akcji wewnątrz pętli.Nie powoduje jednak wyjścia z pętli, ale wymusza rozpoczęcie następnej iteracji pętli i sprawdzenie warunku.Przeważnie akcję continue zagnieżdżasz wewnątrz warunku if — w przeciwnym wypadku zawsze powodowałaby przerwanie wykonywania akcji zawartych w pętli.Jeśli dla jakiejś wartości nie będziesz chciał wykonywać akcji znajdujących się w pętli, możesz użyć akcji continue, która spowoduje „pominięcie” tej wartości.W poniższym skrypcie ukryjemy klipy od „klip_1” do „klip_10”, ale pominiemy „klip_5”:licznik = 1;while (licznik <= 10){if(licznik == 5){licznik++;continue;}_root["klip_" + licznik++]._visible = false;}Dodawanie pętli do skryptuAby utworzyć pętlę w skrypcie, dodaj jeden z typów pętli w edytorze skryptów, używając przycisku z plusem (+) w lewym górnym narożniku edytora (lub wybierając odpowiednią akcję z przybornika akcji).W polu Condition wpisz warunek powtórzenia pętli.Pamiętaj, aby upewnić się, że warunek pętli kiedyś stanie się niespełniony; najczęściej stosuje się licznik, który jest aktualizowany po każdym przejściu pętli (nie możesz zapomnieć go dodać na końcu pętli).Jeśli zapomnisz o aktualizacji licznika, utworzysz pętle nieskończoną.W takim wypadku po chwili Flash zapyta, czy chcesz przerwać wykonywanie tego skryptu.Pętle we Flashu nie nadają się do wykonywania procesów w tle, które sprawdzają warunki zachodzące w innej części filmu.W czasie wykonywania pętli ekran nie jest uaktualniany, a zdarzenia myszy przechwytywane, więc większość operacji Flasha nie jest wykonywana w trakcie działania pętli.Pętle bardzo dobrze nadają się do operacji przeszukiwania, na przykład ciągów znaków (dzięki nim możesz sprawdzić każdą literę tekstu w poszukiwaniu znaku @) oraz dynamicznego nadawania wartości wielu zmiennym.Pętle, które wykonują powtarzające się akcje wpływające na namacalne obiekty w filmie, powinny być implementowane nie jako pętle pojedynczych skryptów, lecz jako zapętlone ujęcia na listwie czasowej.Aby utworzyć stale wykonywaną operację, wykreuj klip filmowy zawierający dwa ujęcia.W pierwszym wywołuj podprogram lub umieść instrukcje, które chcesz wykonywać; w drugim ujęciu umieść akcję gotoAndPlay(1);, która spowoduje powrót do pierwszego ujęcia.Możesz także skorzystać z nowego detektora onClipEvent(enterFrame) Flasha 5, aby ciągle powtarzać te same akcje.Odsyłacz! Detektor zdarzeń onClipEvent omawiany jest w rozdziale 19., „Sterowanie klipami filmowymi.”WłaściwościWłaściwości to inaczej cechy (na przykład szerokość i wysokość) filmów oraz klipów filmowych, które można odczytywać lub zmieniać.Możesz używać zmiennych do przechowywania aktualnej wartości właściwości określonego klipu filmowego, na przykład:xPoz = _root._xmouse;która przechowuje w zmiennej xPoz aktualne położenie kursora myszy na osi X (w układzie współrzędnych głównej listwy czasowej).Odsyłacz! W rozdziale 19., „Sterowanie klipami filmowymi”, znajdziesz szczegółowe tabele dotyczące właściwości klipów filmowych (oraz filmów) wraz z ich omówieniem.Wbudowane funkcjeActionScript Flasha 5 zawiera pewną liczbę wbudowanych poleceń nazywanych funkcjami.Między innymi są to funkcje: getTimer, getVersion, parseFloat, parseInt, int, string, substring, escape oraz unescape.W tym rozdziale (ani w całej książce) nie jesteśmy w stanie dokładnie omówić użycia każdej nowej funkcji ani elementu ActonScript Flasha 5.Jednak omówienia większości funkcji rozsiane są po tej części książki.Tworzenie i wywoływanie podprogramówChociaż raz są nazywane funkcjami, a innym razem podprogramami, używane są w większości języków programowania jako samowystarczalne moduły, które mogą być wykonywane z każdego miejsca programu.W języku ActionScript Flasha 5 definiujesz funkcje za pomocą nowej akcji function.Możesz je tworzyć na każdej listwie czasowej i, podobnie jak w przypadku klonów klipów filmowych, do ich wywoływania musisz użyć absolutnych lub relatywnych ścieżek adresowych.Na przykład, jeśli posiadasz następującą funkcję na listwie czasowej klipu filmowego o nazwie Funkcje:function utworzKopie (cel, ilosc){for(i=1;i<=ilosc;i++){_root[cel].duplicateMovieClip(cel+"_"+i, i);}}to, będąc na innej listwie czasowej, możesz ją wywołać poleceniem:_root.Funkcje
[ Pobierz całość w formacie PDF ]