xaoo Napisano 2 Styczeń 2009 Napisano 2 Styczeń 2009 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
Johny Napisano 4 Styczeń 2009 Napisano 4 Styczeń 2009 (edytowane) 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ń 2009 przez Johny 1
xaoo Napisano 5 Styczeń 2009 Autor Napisano 5 Styczeń 2009 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 :)
xaoo Napisano 5 Styczeń 2009 Autor Napisano 5 Styczeń 2009 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
xaoo Napisano 6 Styczeń 2009 Autor Napisano 6 Styczeń 2009 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
image.nation Napisano 28 Luty 2009 Napisano 28 Luty 2009 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
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się