Flash_MX_Programowanie_fmxpro.pdf

(534 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Flash MX.
Programowanie
Autor: Robert Penner
T³umaczenie: Marek Binkowski, Rafa³ Joñca
ISBN: 83-7361-085-5
Tytu³ orygina³u:
Robert Penner's Programming
Macromedia Flash MX
Format: B5, stron: 400
Przyk³ady na ftp: 545 kB
Robert Penner — ekspert i innowator w dziedzinie jêzyka ActionScript — dzieli siê swoj¹
wiedz¹ na temat programowania Macromedia Flash. Penner przybli¿a tajniki ³¹czenia
z³o¿onej matematyki i fizyki z atrakcyjn¹ i estetyczn¹ grafik¹ Flasha. Dziêki ksi¹¿ce
„Flash MX. Programowanie” poznasz podstawowe zagadnienia zwi¹zane z przestrzeni¹,
matematyk¹, kolorem, ruchem i kszta³tem, a nastêpnie dowiesz siê, jak wykorzystaæ tê
teoriê do generowania nieprzeciêtnych animacji. Przekonasz siê, jak wspaniale mo¿esz za
pomoc¹ ActionScriptu symulowaæ zjawiska atmosferyczne takie jak tornado, nie¿yca czy
zorza polarna.
Ksi¹¿ka omawia szeroki zakres zagadnieñ -- od projektowania i mechaniki ruchu po tajniki
pisania poprawnego, zorientowanego obiektowo kodu; s³u¿y tak¿e pomoc¹ w tworzeniu
kolorów, d wiêku, ruchu i interakcji.
• Wyja nienie podstaw matematyki w kontek cie programu Flash
• Tworzenie skomplikowanych animacji oraz prostego ruchu i efektów typu „rollover”
• Prezentacja mo¿liwo ci obiektowych jêzyka ActionScript
• Tworzenie ³atwych do modyfikacji interfejsów wielokrotnego u¿ytku
• Tworzenie obiektów trójwymiarowych
• Dok³adne wyja nienie procesu tworzenia kilku przyk³adowych animacji: nie¿ycy,
fraktalnego tancerza i zorzy polarnej
• Projektowanie i generowanie dynamicznej animacji za pomoc¹ jêzyka ActionScript
• Tworzenie grafiki — od prostych schematów po z³o¿one filmy.
Po³¹czenie odwiecznych praw fizyki i matematyki z nowoczesn¹ technologi¹ Flasha MX
sprawi, ¿e bêdziesz w stanie tworzyæ niezwyk³e animacje. Poznaj granice w³asnej
wyobra ni z ksi¹¿k¹ „Flash MX. Programowanie”!
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Robert Penner
to niezale¿ny twórca filmów w programie Macromedia Flash, konsultant,
pisarz i wyk³adowca. Na ca³ym wiecie znany jest z innowacyjnych pomys³ów i animacji
odtwarzaj¹cych piêkno natury. Jego biografiê artystyczn¹ i efekty eksperymentów mo¿na
znale æ na witrynie
http://robertpenner.com
Spis treści
O Autorze........................................................................................................... 17
Wprowadzenie ................................................................................................... 19
Co omawia ta ksią ka? (opisy części i rozdziałów)..............................................................19
Jak czytać tę ksią kę?............................................................................................................21
Pliki z przykładami................................................................................................................21
Część I Początek procesu .......................................................................23
Rozdział 1. Jak poznałem Flasha?...................................................................... 25
Zaplecze osobiste ..................................................................................................................25
Lata studenckie................................................................................................................... 27
Studium techniczne ............................................................................................................. 28
Odkrycie Flasha.................................................................................................................. 28
Istota dyscypliny....................................................................................................................30
Co to są dyscypliny? ........................................................................................................... 30
Nawyki .............................................................................................................................. 31
Moje dyscypliny ................................................................................................................. 32
Samodzielna nauka................................................................................................................32
Rozwój przez ćwiczenie ...................................................................................................... 33
Przykład: nauka skrótów klawiszowych ................................................................................ 34
Społeczność...........................................................................................................................35
Uczenie się przez nauczanie innych ...................................................................................... 36
Udostępnianie kodu źródłowego........................................................................................... 37
Proces iteracyjny ...................................................................................................................38
Nauka jest okrągła .............................................................................................................. 38
Ustalanie priorytetów .......................................................................................................... 39
Tworzenie z myślą o przyszłości .......................................................................................... 40
Układ ksią ki.........................................................................................................................41
Rozdział 2. Programowanie zorientowane obiektowo......................................... 43
Istota programowania............................................................................................................43
Pamięć i zmienne................................................................................................................ 44
Umiejętności i funkcje......................................................................................................... 44
Obiekty: pamięć i umiejętności ............................................................................................ 45
Właściwości i metody ......................................................................................................... 45
6
Flash MX. Programowanie
Klasy......................................................................................................................................47
Wbudowane klasy i obiekty Flasha....................................................................................... 47
Konstruktory klas ............................................................................................................... 49
Klonowanie klas wizualnych................................................................................................ 51
Właściwość prototype ......................................................................................................... 51
Dodawanie metod do klas.................................................................................................... 53
Zastępowanie wbudowanych metod ..................................................................................... 54
Rozszerzanie mo liwości obiektów statycznych .................................................................... 54
Klasyczne pojęcia z dziedziny OOP .....................................................................................55
Abstrakcja.......................................................................................................................... 55
Separacja ........................................................................................................................... 56
Polimorfizm ....................................................................................................................... 59
Tworzenie własnej klasy .......................................................................................................59
Analiza...................................................................................................................................60
Lista zadań......................................................................................................................... 60
Scenariusze poszczególnych zadań ....................................................................................... 61
Projektowanie........................................................................................................................62
Dobór właściwości.............................................................................................................. 63
Dobór metod ...................................................................................................................... 63
Relacje między obiektami.................................................................................................... 64
Diagramy klas .................................................................................................................... 65
Tworzenie klas w języku ActionScript .................................................................................66
Konstruktor klasy PhotoAlbum ............................................................................................ 66
Metoda showPhotoAt() ....................................................................................................... 68
Metoda next()..................................................................................................................... 69
Metoda prev() .................................................................................................................... 70
Klasa PhotoAlbum w akcji................................................................................................... 71
Dziedziczenie klas.................................................................................................................72
Dziedziczenie właściwości a dziedziczenie metod.................................................................. 72
Dziedziczenie właściwości za pomocą funkcji super()............................................................ 73
Dziedziczenie metod ........................................................................................................... 74
Obiekt super....................................................................................................................... 74
Dziedziczenie metod za pomocą słowa kluczowego new ........................................................ 75
Dziedziczenie metod przy u yciu właściwości __proto__ ....................................................... 76
Rozwiązanie korzystające z właściwości __constructor__....................................................... 76
Metoda superCon() ............................................................................................................. 78
Wnioski .................................................................................................................................79
Część II Podstawowe pojęcia .................................................................81
Rozdział 3. Matematyka część I: trygonometria i układy współrzędnych........... 83
Trygonometria.......................................................................................................................84
Trójkąt prostokątny............................................................................................................. 84
Twierdzenie Pitagorasa........................................................................................................ 84
Odległość między dwoma punktami ..................................................................................... 85
Kąty w trójkątach prostokątnych .......................................................................................... 86
Sinus ................................................................................................................................. 88
Kosinus.............................................................................................................................. 91
Tangens ............................................................................................................................. 93
Arcus tangens ..................................................................................................................... 94
Spis treści
7
Arcus kosinus ..................................................................................................................... 96
Arcus sinus......................................................................................................................... 97
Układy współrzędnych..........................................................................................................98
Kartezjański układ współrzędnych........................................................................................ 98
Układ współrzędnych Flasha................................................................................................ 99
Współrzędne biegunowe.................................................................................................... 102
Wnioski ...............................................................................................................................107
Rozdział 4. Matematyka część II: wektory w dwóch wymiarach ...................... 109
Wektory...............................................................................................................................109
Klasa Vector........................................................................................................................110
Konstruktor klasy Vector................................................................................................... 111
Metoda Vector.toString()................................................................................................... 111
Metoda Vector.reset() ....................................................................................................... 112
Metoda Vector.getClone() ................................................................................................. 112
Metoda Vector.equals() ..................................................................................................... 113
Dodawanie wektorów..........................................................................................................114
Metoda Vector.plus() ........................................................................................................ 115
Metoda Vector.plusNew().................................................................................................. 115
Odejmowanie wektorów .....................................................................................................116
Metoda Vector.minus()...................................................................................................... 116
Metoda Vector.minusNew()............................................................................................... 116
Odwracanie wektora............................................................................................................117
Metoda Vector.negate() ..................................................................................................... 117
Metoda Vector.negateNew() .............................................................................................. 118
Skalowanie wektorów .........................................................................................................118
Metoda Vector.scale() ....................................................................................................... 118
Metoda Vector.scaleNew() ................................................................................................ 119
Długość wektora..................................................................................................................119
Metoda Vector.getLength()................................................................................................ 120
Metoda Vector.setLength() ................................................................................................ 120
Orientacja wektora ..............................................................................................................121
Metoda Vector.getAngle() ................................................................................................. 121
Metoda Vector.setAngle().................................................................................................. 122
Obracanie wektora...............................................................................................................122
Metoda Vector.rotate() ...................................................................................................... 123
Metoda Vector.rotateNew() ............................................................................................... 123
Iloczyn skalarny ..................................................................................................................124
Interpretacja iloczynu skalarnego ....................................................................................... 124
Metoda Vector.dot().......................................................................................................... 124
Wektory prostopadłe ...........................................................................................................125
Poszukiwanie normalnej wektora ....................................................................................... 125
Metoda Vector.getNormal() ............................................................................................... 125
Sprawdzanie prostopadłości wektorów................................................................................ 126
Metoda Vector.isNormalTo()............................................................................................. 126
Obliczanie kąta między dwoma wektorami ........................................................................127
Wyprowadzenie wzoru na kąt między wektorami ................................................................ 127
Metoda Vector.angleBetween() .......................................................................................... 128
Traktowanie punktów jako wektory....................................................................................128
Wnioski ...............................................................................................................................130
8
Flash MX. Programowanie
Rozdział 5. Matematyka część III: wektory w trzech wymiarach ..................... 131
Osie X, Y i Z .......................................................................................................................131
Klasa Vector3d....................................................................................................................132
Konstruktor klasy Vector3d ............................................................................................... 132
Metoda Vector3d.toString() ............................................................................................... 132
Metoda Vector3d.reset().................................................................................................... 133
Metoda Vector3d.getClone().............................................................................................. 133
Metoda Vector3d.equals().................................................................................................. 134
Podstawowe operacje z udziałem trójwymiarowych wektorów .........................................134
Metoda Vector3d.plus()..................................................................................................... 134
Metoda Vector3d.plusNew() .............................................................................................. 135
Metoda Vector3d.minus() .................................................................................................. 135
Metoda Vector3d.minusNew() ........................................................................................... 136
Metoda Vector3d.negate() ................................................................................................. 136
Metoda Vector3d.negateNew()........................................................................................... 137
Metoda Vector3d.scale().................................................................................................... 137
Metoda Vector3d.scaleNew()............................................................................................. 137
Metoda Vector3d.getLength() ............................................................................................ 138
Metoda Vector3d.setLength()............................................................................................. 138
Iloczyny wektorów..............................................................................................................139
Iloczyn skalarny................................................................................................................ 139
Metoda Vector3d.dot() ...................................................................................................... 140
Iloczyn wektorowy ........................................................................................................... 140
Metoda Vector3d.cross() ................................................................................................... 142
Kąt między dwoma wektorami............................................................................................142
Równanie pozwalające na wyznaczenie kąta ....................................................................... 143
Metoda Vector3d.angleBetween() ...................................................................................... 143
Rzutowanie wektora na płaszczyznę ekranu.......................................................................144
Metoda Vector3d.getPerspective()...................................................................................... 144
Metoda Vector3d.persProject() .......................................................................................... 145
Metoda Vector3d.persProjectNew() ................................................................................... 146
Obroty w trzech wymiarach ................................................................................................146
Obrót wokół osi X ............................................................................................................ 146
Metoda Vector3d.rotateX()................................................................................................ 146
Metoda Vector3d.rotateXTrig().......................................................................................... 147
Obrót wokół osi Y ............................................................................................................ 148
Metoda Vector3d.rotateY()................................................................................................ 148
Metoda Vector3d.rotateYTrig().......................................................................................... 149
Obrót wokół osi Z............................................................................................................. 149
Metoda Vector3d.rotateZ() ................................................................................................ 150
Metoda Vector3d.rotateZTrig() .......................................................................................... 150
Metoda Vector3d.rotateXY() ............................................................................................. 151
Metoda Vector3d.rotateXYTrig() ....................................................................................... 151
Metoda Vector3d.rotateXYZ() ........................................................................................... 152
Metoda Vector3d.rotateXYZTrig() ..................................................................................... 152
Rysowanie cząsteczek w trzech wymiarach........................................................................153
Klasa Particle3d................................................................................................................ 153
Metoda Particle3d.attachGraphic() ..................................................................................... 155
Metoda Particle3d.render() ................................................................................................ 155
Zgłoś jeśli naruszono regulamin