Napisano 2 Styczeń 200916 l Witam, Mam do Was takie pytanie. W jaki sposob mozna zrobic we flashu taka 360 stopniowa prezentacje prjektu. Cos takiego jak tutaj: http://www.wdc.com/en/flash/index.asp?family=wdfMyBook_Office_1B Chcialem dodac, ze nie chcialbym uzywac jakichs specjalnych pluginow, czy programow do tego. Chcialem skorzystac z wyrenderowanej sekwencji obrazkow i polaczyc to z AS. Czy macie moze jakies linki do ciekawych tutoriali? Z gory dziekuje za wszelkie informacje. Pozdrawiam, xaoo
Napisano 4 Styczeń 200916 l 1. Robisz jakis Movie Clip, nazywasz go dowolnie np main_mc. 2. W nim robisz nastepny, ktory nazywasz np: klatki_mc (pamietaj ze nazwa ta musi byc w Instance name) 3. W tak nowo utworzonym pustym klipie (klatki_mc) w pierwszej klatce do kodu dodajesz: stop(); 4. Dodajesz nowa warstwe i importujesz do niej klatki tego co ma sie obracac warstwa gdzie jest kod stop(); ma byc rozciagnieta na cala dlugosc filmu 5. Wracasz o poziom wyzej do Movie Clip'a w naszym przypadku main_mc, nad warstwa gdzie masz sekwencje klatek do obrotu tworzysz nowa i wstawiasz kwadrat z plpha = 0% jako obszar ktory bedzie reagowal na kliknieciea jednoczesnie bedzie przezroczysty i konwertujesz go do MovieClip'a i w Instance name nadajesz mu np nazwe: "pole" 6. Dodajesz nowa warstwe a w niej kod: [color=Blue]stop[/color](); [color=Blue]var[/color] mouseClick:[color=Blue]Boolean[/color]; [color=Blue]var[/color] xPos, xPosNew, i :[color=Blue]int[/color]; i = 20; pole.[color=Blue]addEventListener[/color]([color=Blue]MouseEvent.MOUSE_DOWN[/color], MouseDWN); [color=Blue]function[/color] MouseDWN([color=Blue]event[/color]:[color=Blue]MouseEvent[/color]):[color=Blue]void[/color] { [color=Blue]this.[/color][color=Blue]addEventListener[/color]([color=Blue]Event.ENTER_FRAME[/color], obrot); mouseClick = [color=Blue]true[/color]; xPos = [color=Blue]stage[/color].[color=Blue]mouseX[/color] pole.[color=Blue]removeEventListener[/color]([color=Blue]MouseEvent.MOUSE_DOWN[/color], MouseDWN); [color=Blue]stage.addEventListener[/color]([color=Blue]MouseEvent.MOUSE_UP[/color], MouseUP); } [color=Blue]function[/color] MouseUP([color=Blue]event[/color]:[color=Blue]MouseEvent[/color]):[color=Blue]void [/color] { mouseClick = [color=Blue]false[/color]; [color=Blue]this.[/color][color=Blue]removeEventListener[/color]([color=Blue]Event.ENTER_FRAME[/color], obrot); pole.[color=Blue]addEventListener[/color]([color=Blue]MouseEvent.MOUSE_DOWN[/color], MouseDWN); [color=Blue] stage.removeEventListener[/color]([color=Blue]MouseEvent.MOUSE_UP[/color], MouseUP); } [color=Blue]function[/color] obrot([color=Blue]event[/color]:[color=Blue]Event[/color]) { [color=Blue]if[/color] (mouseClick == [color=Blue]true[/color]) { xPosNew = [color=Blue]stage[/color].[color=Blue]mouseX[/color] [color=Blue]if[/color] (xPosNew > (xPos+i)) { [color=Blue]if[/color] (klatki_mc.[color=Blue]currentFrame[/color] == klatki_mc.[color=Blue]totalFrames[/color]) { klatki_mc.[color=Blue]gotoAndStop[/color](1); xPos = xPosNew; } [color=Blue]else[/color] { klatki_mc.[color=Blue]nextFrame[/color](); xPos = xPosNew; } } [color=Blue] if[/color] (xPosNew { [color=Blue]if[/color] (klatki_mc.[color=Blue]currentFrame[/color] == 1) { klatki_mc.[color=Blue]gotoAndStop[/color](klatki_mc.[color=Blue]totalFrames[/color]); xPos = xPosNew; } [color=Blue] else[/color] { klatki_mc.[color=Blue]prevFrame[/color](); xPos = xPosNew; } } } } kod napisalem sam, u mnie dziala, jest to AS3, jest tu jeden parametr, zmienna "i" za pomoca ktorej mozesz regulowac co ile pikseli przesuniecia kursora zmini sie klatka skrypt po osiagnieciu ostatniej klatki automatycznie przewija Movie Clip "klatki_mc" do pierwszej i vice versa, czyli jest zachowana plynnosc ruchu edit: w zaleznosci jaki chcesz osiagnac efekt EventListener'y mozesz przypisac do sceny, lub konkretnego pola, MovieClip'u itp ...tutaj poprawilem troche kod, kliknac/aktywowac obrot bedziesz mogl tylko na wyznaczonym przez siebie polu, ale podniesc/zwolnic klawisz myszy juz w dowolnym miejscu sceny w razie pytan pisz pozdrawiam Edytowane 4 Styczeń 200916 l przez Johny
Napisano 5 Styczeń 200916 l Autor Witam, Na wstepie wielkie dzieki za taki kawalek kodu. Kurcze jedyny problem to taki,ze ja potrzebuje AS 2.0, a nie 3.0. Niestety posiadam Flasha 8 i mam problemy z klasa MouseEvent oraz Event :/ Da sie cos na to poradzic? Z gory dziek za informacje. Pozdrawiam, xaoo P.S. Rep dla Ciebie juz idzie :)
Napisano 5 Styczeń 200916 l Autor Witam, Chyba najprosciej bedzie jak zdobede Flasha CS3 :) TYlko mam pytanie, bo wiekszosc projektu robie we flashu 8 i uzywam loadera do importowania plikow zewnetrznych do sceny. Czy to nie bedzie problem jesli jeden plik bedzie zrobiony w innej wersji flasha? Pozdrawiam, xaoo
Napisano 6 Styczeń 200916 l Autor Witam po raz 3 :) No i niestety kiszka jest. Jak importuje sekwencje do starego flasha to obiekt sie obraca sam i nie ma nad nim zadnej kontroli :/ Wychodzi na to,ze bedzie trzeba przekonwertowac pozostale pliki i miec nadzieje, ze to wszystko bedzie dzialalo :/ Pozdrawiam, xaoo
Napisano 28 Luty 200916 l Johny kocham Cie! :D Siedzialem dzis od 5 rana do telekspresu nad takim rozwiazaniem i zastanawialem sie jak zrobic taka dynamike przy kontroli animacji myszka :D
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto