
Poznaj język programowania Flasha
i tchnij życie w projekty stron WWW
- Jak dostosować wygląd komponentów Flasha do stylu aplikacji?
- Jak tworzyć płynne i efektowne animacje, zmieniając szybkość odtwarzania klatek?
- Jak budować dynamiczne, interaktywne strony WWW za pomocą ActionScript 2.0?
Jesteś użytkownikiem Flasha? Uważasz, że wiesz już wszystko o jego narzędziach graficznych i animacyjnych? A może Twoja wyobraźnia podsuwa Ci pomysły, których realizacja wydaje się niemożliwa? Dodaj do swojego warsztatu znajomość ActionScript 2.0, języka programowania wykorzystywanego we Flashu. Stosując go, nadasz nową jakość swoim projektom. Przekonasz się, że to, co było niemożliwe do wykonania za pomocą narzędzi rysunkowych, stanie się dziecinnie łatwe dzięki ActionScript 2.0. Będziesz mógł kontrolować niemal każdy parametr wszystkich obiektów w prezentacji, pobierać dane z zewnętrznych źródeł, sterować szybkością odtwarzania filmu i wykonywać wiele innych zadań.
"ActionScript 2.0. Od podstaw" to książka będąca wprowadzeniem do programowania w tym języku. Czytając ją, poznasz środowisko programistyczne Flasha i podstawy języka ActionScript. Dowiesz się, czym jest programowanie obiektowe i w jaki sposób korzystać z jego możliwości. Nauczysz się przy użyciu ActionScript kontrolować wartości parametrów klipów filmowych na scenie, sterować ich zachowaniem oraz tworzyć nowe obiekty. Przeczytasz o wstawianiu do prezentacji materiałów graficznych i dźwiękowych pochodzących z zewnętrznych źródeł, danych tekstowych, a także opanujesz sterowanie odtwarzaniem animacji. Znajdziesz tu również informacje o wyszukiwaniu i usuwaniu błędów w kodzie.
- Zadania panelu Actions
- Podstawowe elementy języka ActionScript
- Programowanie obiektowe
- Projektowanie aplikacji we Flashu
- Sterowanie klipami filmowymi
- Korzystanie z komponentów
- Tworzenie elementów interaktywnych
- Praca z tekstem
- Wstawianie do prezentacji elementów multimedialnych
- Dynamiczne tworzenie elementów graficznych
- Przetwarzanie plików XML
- Komunikacja z serwerem i przeglądarką
Pracujesz we Flashu? Wzbogać swoje projekty
o możliwości, jakie daje Ci ActionScript.
O autorach (17)Wstęp (19)
Rozdział 1. Rozpoczęcie pracy z programem Macromedia Flash (25)
- Wprowadzenie do środowiska autorskiego (25)
- Panel Tools (26)
- Panel Properties (26)
- Listwa czasowa (27)
- Klatki kluczowe i animacja (27)
- Biblioteka i symbole (28)
- Praca z przyciskami (29)
- Praca z klipami filmowymi (32)
- Warstwy, głębokości i poziomy (32)
- Dostosowywanie środowiska programistycznego (33)
- Panel Actions (33)
- Ustawienia ActionScript (34)
- Auto Format (automatyczne formatowanie kodu) (37)
- Publikacja projektu (38)
- Opcje wykrywania odtwarzacza Flash Player (42)
- Podsumowanie (43)
- Ćwiczenia (44)
- Instrukcje (45)
- Stosowanie instrukcji prostych (45)
- Stosowanie instrukcji złożonych (46)
- Operatory (47)
- Priorytet operatorów (48)
- Porządek działania operatorów (49)
- Najpopularniejsze operatory (49)
- Białe znaki (51)
- Komentarze (52)
- Wstępne informacje o zmiennych (54)
- Przypisywanie danych do zmiennej (54)
- Odczytywanie zawartości zmiennej (55)
- Przekazywanie danych pomiędzy zmiennymi (55)
- Nazywanie zmiennych (56)
- Stałe (57)
- Ścisła kontrola typów a zmienne (57)
- Typy danych (60)
- Składnia kropkowa (64)
- Specjalne słowa kluczowe i zmienne (66)
- Praca ze zbiorami danych (68)
- Tablice (68)
- Tablice asocjacyjne i obiekty (74)
- Podsumowanie (79)
- Ćwiczenia (79)
- Podejmowanie decyzji (81)
- Wyrażenia (82)
- Tworzenie wyrażeń (83)
- Instrukcja if..then..else (87)
- Instrukcja switch..case (89)
- Pętle (94)
- Pętla for (95)
- Pętla for..in (97)
- Pętla while (99)
- Pętla do..while (100)
- Wykrywanie błędów w kodzie pętli (104)
- Podsumowanie (108)
- Ćwiczenia (108)
- Funkcje (111)
- Funkcje w działaniu (114)
- Alternatywna składnia funkcji (116)
- Przekazywanie funkcji jako argument (116)
- Zakres zmiennych (120)
- Zarządzanie zakresem zmiennych (123)
- Skutki uboczne (125)
- Podsumowanie (127)
- Ćwiczenia (127)
- Wprowadzenie do programowania obiektowego (129)
- Definicja programowania obiektowego (129)
- Cele programowania obiektowego (134)
- Dobre praktyki w pisaniu kodu (135)
- Nadawanie nazw zmiennym (136)
- Kontrola typów (139)
- Komentowanie kodu (144)
- Formatowanie kodu (146)
- Zakres zmiennych (147)
- Dostęp do zmiennych innej listwy czasowej (150)
- Tworzenie własnych funkcji (157)
- Podsumowanie (169)
- Ćwiczenia (170)
- Przygotowanie biblioteki (173)
- Praca z obrazami rastrowymi (bitmapami) (174)
- Organizowanie obrazów na pulpicie (175)
- Organizowanie elementów w bibliotece (175)
- Wbudowywanie obrazów w klipy filmowe (176)
- Zagnieżdżanie sekcji wewnątrz klipu filmowego (179)
- Zarządzanie stanem aplikacji za pomocą klatek kluczowych (180)
- Przechowywanie kodu w plikach zewnętrznych (183)
- Używanie skryptów do zarządzania stanem aplikacji (185)
- Podsumowanie (189)
- Ćwiczenie (189)
- Natura klipów filmowych (191)
- Metody klasy MovieClip (192)
- Właściwości klasy MovieClip (206)
- Zdarzenia klasy MovieClip (209)
- Dynamiczne tworzenie klipów filmowych (210)
- Dołączenie klipu znajdującego się w bibliotece (214)
- Ładowanie filmów zewnętrznych (217)
- Ładowanie filmów do poziomów (217)
- Wczytywanie mediów do istniejących klipów filmowych (218)
- Adresy URL pełne, bezwzględne oraz względne (219)
- Stosowanie klipów filmowych jako masek (223)
- Zwiększanie wydajności klipów filmowych (228)
- Buforowanie bitmap (229)
- Przezroczystość (229)
- Filtry i tryby przenikania (230)
- Pełny ekran (230)
- Podsumowanie (230)
- Ćwiczenia (231)
- Tworzenie własnego programu ładującego (233)
- Sprawdzanie postępu za pomocą zdarzenia onEnterFrame() (238)
- Klasa MovieClipLoader (239)
- Zdarzenia klasy MovieClipLoader (239)
- Metody klasy MovieClipLoader (240)
- Stosowanie klasy MovieClipLoader (243)
- Komponenty Leader oraz ProgressBar (246)
- Metody, właściwości oraz zdarzenia komponentu Loader (247)
- Metody, właściwości oraz zdarzenia komponentu ProgressBar (248)
- Stosowanie komponentów Loader oraz ProgressBar (249)
- Strategie stosowania programów ładujących (251)
- Film jako jednolita całość (252)
- Ładowanie filmu podzielonego na części (256)
- Podsumowanie (260)
- Ćwiczenia (260)
- Nowości w wersji 2.0 (263)
- Przegląd komponentów (264)
- Grupa komponentów danych (265)
- Grupy komponentów FLV Playback oraz FLV Playback Custom UI (265)
- Grupa komponentów Media dla odtwarzaczy Flash Player 6 i 7 (267)
- Grupa komponentów User Interface (267)
- Ręczne umieszczanie komponentów na scenie (269)
- Umieszczanie komponentów na scenie za pomocą skryptu (272)
- Kontrolowanie komponentów za pomocą kodu (276)
- Podsumowanie (279)
- Ćwiczenia (280)
- Obsługa zdarzeń (281)
- Tworzenie obiektu nasłuchującego (282)
- Tworzenie obiektu nasłuchującego - inna wersja (289)
- Tworzenie funkcji nasłuchującej (290)
- Której metody używać? (292)
- Dodawanie kilku obiektów nasłuchujących do kilku komponentów (297)
- Organizacja kodu odpowiedzialnego za wykrywanie zdarzeń (298)
- Obsługa zdarzeń pochodzących z wielu źródeł (299)
- Samodzielne wywoływanie zdarzeń dla komponentów (305)
- Podsumowanie (306)
- Ćwiczenie (307)
- Panel Component Inspector (309)
- Tworzenie powiązań danych między komponentami za pomocą zakładki Bindings (311)
- Wykorzystanie pliku XML jako źródła danych (314)
- Sterowanie wyglądem komponentów (318)
- Zmiana stylów komponentów za pomocą metody setStyle() (318)
- Tworzenie skórek (326)
- Podsumowanie (331)
- Ćwiczenia (331)
- Rodzaje błędów (333)
- Błędy kompilacji (333)
- Błędy logiczne (334)
- Projektowanie kodu ułatwiającego wykrycie błędów (340)
- Twórz kod łatwy do zrozumienia (340)
- Buduj kod po kawałku (341)
- Używaj małych funkcji (341)
- Naukowa metoda badawcza a wykrywanie błędów (341)
- Formułowanie teorii (342)
- Przeprowadzenie eksperymentu (343)
- Analiza otrzymanych wyników (351)
- Podsumowanie (352)
- Ćwiczenia (352)
- Rysowanie za pomocą interfejsu API (358)
- Narzędzia służące do rysowania grafiki wektorowej w ActionScript (358)
- lineStyle() (359)
- beginFill() (360)
- beginBitmapFill() (360)
- beginGradientFill() (361)
- endFill() (363)
- moveTo() (363)
- lineTo() (363)
- curveTo() (363)
- clear() (364)
- Rysowanie wektorów za pomocą kodu ActionScript (364)
- Obiekt Matrix (373)
- Podsumowanie (374)
- Ćwiczenia (374)
- DropShadowFilter (376)
- BlurFilter (377)
- GlowFilter (378)
- BevelFilter (379)
- GradientGlowFilter (380)
- GradientBevelFilter (381)
- ConvolutionFilter (382)
- ColorMatrixFilter (385)
- DisplacementMapFilter (387)
- Klonowanie filtrów (388)
- Stosowanie wielu filtrów (389)
- Stosowanie trybów przenikania (394)
- Podsumowanie (395)
- Ćwiczenia (396)
- Metody obiektu BitmapData (398)
- applyFilter() (398)
- clone() (398)
- colorTransform() (399)
- copyChannel() (399)
- copyPixels() (399)
- dispose() (400)
- draw() (400)
- fillRect() (401)
- floodFill() (401)
- generateFilterRect() (402)
- getColorBoundsRect() (402)
- getPixel() (403)
- getPixel32() (403)
- hitTest() (403)
- loadBitmap() (404)
- merge() (404)
- noise() (405)
- paletteMap() (405)
- perlinNoise() (406)
- pixelDissolve() (407)
- scroll() (408)
- setPixel32() (408)
- threshold() (409)
- Właściwości obiektu BitmapData (410)
- Konwertowanie klipu filmowego na bitmapę (410)
- Modyfikowanie obiektu BitmapData (411)
- Podsumowanie (413)
- Ćwiczenia (413)
- Rodzaje animacji we Flashu (416)
- Tworzenie animacji za pomocą klatek kluczowych (416)
- Tworzenie animacji za pomocą kodu ActionScript (418)
- Przesuwanie klipu filmowego za pomocą zdarzenia onEnterFrame() (419)
- Przesuwanie klipu filmowego za pomocą funkcji setInterval() (421)
- Animacje oparte na klatkach a animacje oparte na upływie czasu (423)
- Wpływ szybkości odtwarzania klatek na animację (423)
- Której metody używać? (426)
- Dobór szybkości odtwarzania lub parametru funkcji setInterval() (426)
- Animowanie klipów filmowych (427)
- Animowanie wielu klipów filmowych (428)
- Dodawanie zachowania losowego (429)
- Łagodzenie i przyspieszanie (434)
- Podsumowanie (448)
- Ćwiczenia (449)
- Klasa Tween (451)
- Animacje względne i bezwzględne (452)
- Wbudowane klasy i metody upłynniające ruch (452)
- Metody klasy Tween (454)
- Właściwości i zdarzenia klasy Tween (459)
- Równoległe odtwarzanie sekwencji animacji (462)
- Tworzenie sekwencji płynnych przejść (466)
- Animowanie za pomocą kreślarskiego interfejsu programistycznego (473)
- Podsumowanie (481)
- Ćwiczenia (481)
- Tworzenie pól tekstowych w ActionScript (484)
- Nazwy instancji pola a nazwy zmiennych pola (484)
- Czcionki systemowe i osadzone (484)
- Tworzenie pola tekstowego w locie (484)
- Operowanie właściwościami wyświetlania tekstu (486)
- Właściwość antiAliasType (487)
- Właściwość sharpness (487)
- Właściwość thickness (487)
- Możliwości w zakresie wzbogaconego formatowania tekstu (490)
- Korzystanie z klasy TextFormat (490)
- Nowe opcje klasy TextFormat we Flashu 8 (491)
- Słowo na temat metody setNewTextFormat() (497)
- Wyświetlanie tekstu HTML (497)
- Obsługa obrazów i plików SWF w polach tekstowych HTML (499)
- Obsługa czcionek (502)
- Używanie kaskadowych arkuszy stylów (504)
- Tworzenie obiektu kaskadowych arkuszy stylów (505)
- Przypisywanie stylu do pola tekstowego (505)
- Definiowanie stylów bezpośrednio w obiekcie StyleSheet (507)
- Jak definiować znaczniki, klasy i właściwości? (509)
- Stosowanie arkuszy CSS z XML (511)
- Opcje przewijania tekstu (513)
- Przewijanie tekstu za pomocą komponentu TextArea (514)
- Przewijanie tekstu za pomocą komponentu ScrollBar (515)
- Podsumowanie (522)
- Ćwiczenia (523)
- Operowanie obrazami (525)
- Inteligentne ładowanie wstępne (527)
- Ładowanie wstępne za pomocą klasy MovieClipLoader (527)
- Operowanie dźwiękiem (529)
- Metody klasy Sound (529)
- Zdarzenia i właściwości klasy Sound (530)
- Tworzenie obiektu Sound (531)
- Ładowanie dźwięków z biblioteki (531)
- Ładowanie zewnętrznych plików MP3 (532)
- Odtwarzanie strumieniowe plików MP3 (534)
- Uruchamianie, zatrzymywanie i śledzenie obiektu dźwiękowego (534)
- Dźwięki zdarzeniowe (538)
- Ustawianie głośności, panoramy oraz używanie metody setTransform() (538)
- Praca z mikrofonem (545)
- Metody klasy Microphone (546)
- Właściwości i zdarzenia klasy Microphone (547)
- Aktywność mikrofonu (548)
- NetStream (550)
- Podsumowanie (551)
- Ćwiczenia (551)
- Pojęcia, technologie oraz jakość (553)
- Szybkość transmisji danych (554)
- Pobieranie progresywne - HTTP (554)
- Strumieniowanie - Flash Communication Server (554)
- Klatki kluczowe materiału wideo (555)
- Zmienna szybkość transmisji bitów (556)
- Przeplot (556)
- Szybkość odtwarzania klatek (556)
- Tworzenie materiału w formacie Flash Video (557)
- Konwertowanie materiałów wideo (557)
- Ładowanie zewnętrznej zawartości wideo (561)
- Eksportowanie wideo (561)
- Ładowanie zewnętrznego pliku FLV (562)
- Klasa NetStream (562)
- Klasa Video (564)
- Kontrolowanie punktu odtwarzania wideo (566)
- Obsługa przezroczystości (569)
- Poprawa jakości materiałów wideo (572)
- Redukcja bloków i obwódek (572)
- Skalowanie i przezroczystość (574)
- Praca z kamerą (574)
- Metody, właściwości i zdarzenia klasy Camera (575)
- Tworzenie obiektu typu Camera (576)
- Wyświetlanie materiału wyjściowego z kamery na scenie (577)
- Zagadnienia bezpieczeństwa związane z wyskakującymi powiadomieniami (582)
- Podsumowanie (583)
- Ćwiczenia (583)
- Dane zewnętrzne a użyteczność aplikacji (586)
- Opóźnienia transmisji danych: komunikacja asynchroniczna (586)
- Klasa LoadVars (587)
- Dane rozdzielone znakami & (587)
- Metody klasy LoadVars (588)
- Tworzenie obiektu LoadVars (590)
- Procedury obsługi zdarzeń klasy LoadVars (592)
- Ładowanie i przetwarzanie tekstu (595)
- Podsumowanie (598)
- Ćwiczenia (598)
- Język XML (599)
- Znaczniki (599)
- Sekcje CDATA (601)
- Klasa XML (602)
- Metody i właściwości klasy XML (602)
- Zdarzenia klasy XML (606)
- Właściwość ignoreWhite (607)
- Ładowanie zewnętrznych plików XML (607)
- Sprawdzanie postępu ładowania pliku (610)
- Bezpieczeństwo plików lokalnych i zewnętrznych (610)
- Specyfika działania metody getBytesTotal() (614)
- Relacje pomiędzy węzłami rodzicami a węzłami potomnymi (614)
- Nawigacja po przykładowym drzewie XML (615)
- Korzystanie z atrybutów (618)
- Połączenia za pomocą XML Socket (618)
- XML w połączeniu z klasą XMLSocket (619)
- Puste bajty (619)
- Metody i zdarzenia klasy XMLSocket (620)
- Metoda sendAndLoad() (622)
- Metody GET i POST protokołu HTTP (624)
- Różnice w działaniu metod HTTP GET i POST (625)
- Kryteria wyboru metody (626)
- Praca z komponentem XMLConnector (626)
- Poruszanie się między domenami a zabezpieczenia (630)
- Aplikacje Flasha a zasady bezpieczeństwa domen (631)
- Kiedy zastosowanie plików zasad będzie konieczne? (632)
- Tworzenie plików zasad (633)
- Usługi sieciowe i dostęp z dowolnej domeny (635)
- Tworzenie podkładek i skryptów pośredniczących (638)
- Podsumowanie (642)
- Ćwiczenia (643)
- Połączenia lokalne - klasa LocalConnection (645)
- Tworzenie obiektu LocalConnection (647)
- Bezpieczeństwo (649)
- Przechowywanie danych lokalnie za pomocą obiektów współdzielonych (650)
- Akceptowalne typy danych (652)
- Wykorzystanie obiektów SharedObject jako plików cookie (653)
- Współpraca z użytkownikiem (656)
- Zarządzanie przestrzenią dyskową (656)
- Dzielenie obiektów współdzielonych (657)
- Przekazywanie danych wejściowych za pomocą FlashVars (658)
- Wprowadzenie do parametrów znaczników <object> i <embed> (658)
- Dodawanie zmiennych FlashVars (660)
- Tworzenie zmiennych FlashVars za pomocą kodu JavaScript (661)
- Przekazywanie FlashVars za pośrednictwem strony serwletowej (662)
- Podsumowanie (663)
- Ćwiczenia (664)
- Zmiana ustawień zabezpieczeń (665)
- Wywoływanie kodu JavaScript z filmu Flasha (667)
- Wprowadzenie do metody getURL() (667)
- Tworzenie polecenia JavaScript za pomocą zmiennych zagnieżdżonych (668)
- Ograniczenia (672)
- Wywoływanie funkcji JavaScript za pomocą fscommand() (673)
- Wywoływanie kodu ActionScript z kodu JavaScript (675)
- Podstawowe metody i zdarzenia JavaScript (677)
- Pakiet Flash JavaScript Integration Kit (678)
- Przygotowanie pakietu Flash JavaScript Integration Kit (678)
- Wywoływanie funkcji JavaScript z kodu ActionScript (679)
- Wywoływanie funkcji ActionScript z kodu JavaScript (679)
- Zewnętrzny interfejs API (683)
- Metody klasy ExternalInterface (683)
- Wywoływanie funkcji i metod ActionScript (686)
- Wywoływanie funkcji JavaScript z poziomu kodu ActionScript (689)
- Otwieranie okien przeglądarki (700)
- Otwieranie wyskakujących okien za pomocą getURL() (700)
- Tworzenie wyskakujących okien za pomocą klasy ExternalInterface (701)
- Tworzenie funkcji JavaScript jako osłony (701)
- Definiowanie parametrów okna przeglądarki (702)
- Podsumowanie (704)
- Ćwiczenie (704)
- Metody klasy FileReference (705)
- browse() (706)
- cancel() (706)
- download() (707)
- upload() (707)
- Właściwości i zdarzenia klasy FileReference (708)
- Pobieranie plików (709)
- Przesyłanie plików (713)
- Podsumowanie (719)
- Ćwiczenie (719)
- Odczytywanie informacji systemowych za pomocą obiektu System (722)
- Ograniczenia obiektu System w różnych wersjach odtwarzacza Flash Player (723)
- Metoda setClipBoard() (724)
- Projektory, pliki wykonywalne Flasha i inne pliki wykonywalne (724)
- Ograniczenia funkcji fscommand (725)
- Wywoływanie funkcji projektora za pomocą funkcji fscommand (725)
- Pakiet SDK (727)
- Oprogramowanie autorstwa firm niezależnych (727)
- Podsumowanie (728)
- Ćwiczenia (728)
- Praca z klasami (729)
- Definiowanie klasy (729)
- Słowa kluczowe public i private (732)
- Definiowanie konstruktora (734)
- Definiowanie metod (738)
- Definiowanie właściwości (744)
- Dodawanie funkcji do klasy istniejącej (751)
- Podsumowanie (764)
- Ćwiczenia (765)
Dodatek B Skróty klawiszowe (831)
Skorowidz (843)