[ Pobierz całość w formacie PDF ]
.Przede wszystkim musimy Ciê jednakuspokoiæ.Wbrew temu, co jest napisane powy¿ej, zadanie nie jest a¿ tak z³o¿onei nie musisz sobie przypominaæ wzorów matematycznych ani trygonometrii — od³Ã³¿wiêc kalkulator i zrelaksuj siê.Na CD-ROM-ie w katalogu ch23\james_robertson znajdziesz pliki do tego æwiczeniaoraz demonstracyjn¹ wersjê gry 10-Pin Bowling.Tworzenie trójwymiarowej scenyIstnieje parê sposobów na tworzenie z³udzenia trójwymiarowoœci; w tym æwiczeniuu¿yjemy perspektywy zbie¿nej do jednego punktu.Metoda ta pozwala na symulacjêg³êbi na p³askim ekranie monitora bez u¿ywania wyrafinowanej matematyki orazpoœwiêcenia mnóstwa czasu.Wiêc jak wygl¹da ta perspektywa i jak dzia³a?WyobraŸ sobie, ¿e stoisz na œrodku p³askiej pustyni, przez któr¹ przebiegaprosta droga.Jeœli bêdziesz sta³ na drodze i popatrzysz w stronê horyzontu, toco zobaczysz? Powinieneœ zobaczyæ coœ podobnego do poni¿szego rysunku, gdziedroga zmniejsza siê coraz bardziej przy zbli¿aniu siê do linii horyzontu;wydaje siê, ¿e zbiega w jednym punkcie — z tego te¿ powodu tak w³aœnie nazywasiê ten rodzaj perspektywy.Jeœli na tej drodze min¹³by Ciê samochód,zmniejsza³by siê podczas oddalania.Bardzo ³atwo utworzyæ we Flashu podobny efekt.Aby symulowaæ oddalanie siêsamochodu, bêdziemy go powoli przesuwaæ w górê i jednoczeœnie pomniejszaæ.Oczywiœcie w tym celu mo¿na pos³u¿yæ siê automatyczn¹ animacj¹, ale mypostaramy siê skorzystaæ ze skryptu.Jeœli chcemy u¿yæ skryptu, to jak powinienon wygl¹daæ? Najpierw bêdziemy musieli ustaliæ pocz¹tkowe po³o¿enie samochoduoraz jego skalê.U¿yjemy znanych Ci ju¿ wspó³rzêdnych X i Y — alezainicjalizujemy jeszcze wspó³rzêdn¹ Z, która bêdzie okreœla³a, jak dalekoodjecha³ samochód.WyobraŸ sobie, ¿e wspó³rzêdna Z jest jakby licznikiemsamochodu — wskazuje, ile kilometrów ju¿ przejecha³.Zmienne start_size iend_size u¿ywane s¹ do zmniejszania samochodu wraz z odleg³oœci¹.Na pocz¹tkujest wyœwietlany w pe³nej okaza³oœci (100%), ale po dojechaniu do punktu zbiegubêdzie stukrotnie mniejszy (1%).W pierwszym ujêciu umieœcimy wiêc nastêpuj¹cyskrypt:car_x = 275;car_y = 390;car_z = 0;start_size = 100;end_size = 1;car_size = start_size;Nastêpnie ustalimy d³ugoœæ animacji.W zmiennej animationframes znajdzie siêliczba klatek, po której samochód znajdzie siê w punkcie zbiegu.Wiêksza liczbaspowoduje spowolnienie animacji, a mniejsza przyspieszenie.W zmiennejtravel_distance znajdzie siê liczba pikseli, o które w czasie animacji samochódprzesunie siê do góry (d³ugoœæ drogi).Zmienne size_factor oraz move_factorobliczane s¹ wed³ug d³ugoœci animacji i zawieraj¹ odpowiednio zmianê wielkoœcii ruch samochodu w ka¿dej kolejnej klatce.animationframes = 60;travel_distance = getProperty("/road", _height);size_factor = (start_size-end_size)/animationframes;move_factor = travel_distance/animationframes;Teraz zajmiemy siê akcjami z drugiego ujêcia: po ustaleniu wszystkich zmiennychwystarczy, ¿e bêdziemy odejmowaæ wczeœniej obliczone zmienne move_factor orazsize_factor od po³o¿enia oraz skali samochodu.Ponadto, poniewa¿ samochódbêdzie siê zbli¿a³ do horyzontu, bêdziemy zwiêkszaæ wspó³rzêdn¹ Z o 1:car_y = car_y-move_factor;car_z = Number(car_z)+1;car_size = car_size-size_factor;Teraz, kiedy ju¿ obliczyliœmy nowe po³o¿enia oraz skalê samochodu, mo¿emy jeprzypisaæ klipowi filmowemu.setProperty ("/car", _y, car_y);setProperty ("/car", _xscale, car_size);setProperty ("/car", _yscale, car_size);Ostatnie ujêcie tej animacji mieœci siê w 3.klatce, w której dodajemynastêpuj¹ce dzia³ania: jeœli wspó³rzêdna Z jest mniejsza od d³ugoœci animacjiokreœlonej w zmiennej animationframes, oznacza to, ¿e samochód nie osi¹gn¹³jeszcze punktu zbiegu, wiêc wykonamy akcjê gotoAndPlay(2), aby kontynuowaæanimacjê.W przeciwnym wypadku spowodujemy odtworzenie ca³ej animacji odpocz¹tku za pomoc¹ akcji gotoAndPlay(1):if (Number(car_z) [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • listy-do-eda.opx.pl