secret Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 Witam! Zaczynam uczyć się flasha. Zrobiłam pierwszą stronę: http://www.unk.pl/szklarska i chcę żeby w dziale "galeria" po lewej stronie tam gdzie miniaturki - był pasek przewijania w dół i w górę lub po prostu strzałeczki, na które jak się kliknie to przewija się galeria. Obejrzałam tutorial, zrobiłam dokładnie tak jak na tutorialu, lecz u mnie nie działa. Nie wiem co robię nie tak. Tu jest screen z programu: http://www.unk.pl/flash.jpg - narobiłam tych miniaturek by zobaczyć efekt przewijania, a kod as2 to: przewijanie_gora.onRelease = function () { miniaturki.y -= 10; } przewijanie_dol.onRelease = function () { miniaturki.y += 10; } Może coś w kodzie źle wpisałam, wartości itp. Przyciski mam dobrze nazwane, więc nie wiem czemu nie działa. Mógłby ktoś doradzić? :)
zgred Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 (edytowane) to może miniaturki nie są w tym samym obiekcie/scenie co przewijanie_gora/dol ? Jeśli nie są należy podać cały adres obiektu. np. jeśli miniaturki są zagnieżdżone w jakimś mc to _root.instancenameMC.miniaturki._y +=10; EDIT: spojrzałem teraz na screen, może posprawdzaj czy nazwy obiektów są takie samy w poszczególnych kluczowych klatkach. Edytowane 22 Wrzesień 2009 przez zgred
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 (edytowane) tzn to wszystko jest w movie clipie o nazwie "galeria podklad movie", to znaczy że mam wpisać coś takiego?: przewijanie_gora.onRelease = function () { _root.galeria podklad movieMC.miniaturki._y -=10; } przewijanie_dol.onRelease = function () { _root.galeria podklad movieMC.miniaturki._y +=10; } chyba źle wpisałam bo nie działa. edit: chyba tak, ale nie jestem pewna, sprawdzam i mi się zdaje że wszystko ok wpisałam, chociaż mogę się mylić bo jestem nowa we flashu i na pewno gdzieś zrobiłam błąd, tylko gdzie :/ Edytowane 22 Wrzesień 2009 przez secret
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 Wrzuć sobie w jedną i drugą funkcję na przykład trace("test"); i sprawdź czy w ogóle są wywoływane po kliknięciu.
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 La R - jakieś okienko output mi się pokazuje, więc nie wiem, czarna magia :D wysłałabym komuś ten plik .fla ale wstyd pokazywać, bo by się wystraszył jaki tam bałagan jest :D
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 W tym "output" wyskakują Ci wszelkie ostrzeżenia błedy, a także "wnętrze" funkci trace czyli w tym przypadku powinno wyskoczyć "test" jeśli funkcje są wywoływane :).
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 (edytowane) W takim razie wszystko powinno grać. Sprawdź dokładnie te nazwy i ścieżki jak Ci kolega wyżej napisał i jeszcze jedno: staraj się unikać nazewnictwa ze spacjami - być może to jest teraz problemem. Ps. Skoro jesteś nowa we flaszce to polecam zacząć od razu od action script 3 i zostawić dwójkę już w spokoju :). Edytowane 22 Wrzesień 2009 przez La R
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 (edytowane) zmieniłam na kod bez spacji: przewijanie_gora.onRelease = function () { _root.galeria_podklad_movieMC.miniaturki._y -=10; } przewijanie_dol.onRelease = function () { _root.galeria_podklad_movieMC.miniaturki._y +=10; } ale nadal nie działa. edit: no chciałam w as3 napisać, ale tak to jest w necie: część tutoriali i kodów piszą w as2 a część w as3 i jak teraz zmienię na as3 to mi się strona sypie. to może ktoś chciałby mi to poprawić? zapłacę :) Edytowane 22 Wrzesień 2009 przez secret
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 (edytowane) No to jest oczywiste, że w trakcie zmieniać nie będziesz :). Rozumiem, że w zakładce "Properties" MovieClipu nazwa instancji jest taka sama jak w kodzie, czy tak? Edytowane 22 Wrzesień 2009 przez La R
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 tak, jest taka sama o ile się nie mylę. ok wyślę Ci zaraz emaila z tym plikiem. Z góry wielkie dzięki :)
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 No dobra to już wiem co jest, a raczej czego brak :). Po pierwsze MovieClip "galeria_podklad_movieMC" nie ma nazwy w polu Instance Name - wymagane jest do tego aby można się było ze skryptu odwołać bez tego ani rusz ( w panelu properties znajdziesz ). Po drugie odwołujesz się w funkcji do obiektu "miniaturki", który nie istnieje. Każdą miniaturkę masz oddzielnie. Wrzuć miniaturki do jednego MovieClipu i w Instance Name wpisz tą nazwę "miniaturki". Pamietaj że nazwa MovieClipu to nie jest to samo co nazwa instancji tegoż klipu w skrypcie:). Ach i po trzecie przycisk odpowiadający za odtwarzanie muzyki jest nonstop aktywny - sprawdź skutek kilku naciśnięć - to tak niechcący ;).
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 o zobacz, działa :D wielkie dzięki :) a jak zrobić żeby nie klikać cały czas na te strzałki, tylko żeby przetrzymać i przewijało? co do dźwięku to wiem o tym, ale nie wiedziałam jak inaczej zrobić by ciągle muzyka leciała i jednocześnie zrobić przycisk stop i play.
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 AS2 tylko liznąłem więc nie chciałbym namieszać, ale wyglądało by to mniej więcej tak: obiekt.onMouseDown ( lub onPress ) = jakaś funkcja powtarzająca inną funkcję ( na przykład setInterval może być ) a potem obiekt.onMouseUp ( lub onRelease ) = funkcja zatrzymująca licznik ( wobec powyższego clearInterval ). Co do dźwięku to zwyczajnie start na początku i nieaktywny przycisk play, a po naciśnięciu stop jego aktywacja :).
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 (edytowane) aha, może kiedyś, wolę nie mieszać bo i tak tego nie zrobię :D co do dźwięku to też namieszam w kodzie, dziś ciężko mi idzie myślenie :D po wstawieniu miniaturek do movie clipa nie dziala mi galeria, nie zmienia zdjęć, może wiesz czemu? pewnie trzeba kod zmienić, ale dokładnie nie wiem jaki wpisać, bo tu ważne są te kropki, cudzysłowia itp. mam taki: this.onRelease = function () { _parent.gotoAndStop("foto1"); } edit: uff działa, dałam kod: this.onRelease = function () { _root.galeria_podklad_movie.gotoAndStop("foto2"); } rany ale trzeba tu główkować :D Edytowane 22 Wrzesień 2009 przez secret
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 Mogłaś też z powodzeniem wpisać _parent._parent.gotoAndStop() - miniaturki zeszły poziom niżej. A najlepiej jakbyś w ogóle wywaliła skrypt piętro wyżej - większa kontrola potem i bez pisania taaaakich długich sieżek :). 1
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 aha łatwo mówić - wywal wyżej :D szybciej bym usunęła niż to zrobiła :D Wielkie dzięki za pomoc, w ogóle za cierpliwość, bo nie każdy ją ma :D szczególnie ze mną haha :D
La R Napisano 22 Wrzesień 2009 Napisano 22 Wrzesień 2009 Myślenie widać Cię nie boli więc nie jest tak źle :). Polecam się na przyszłość, ile sam wiem tyle pomogę :].
secret Napisano 22 Wrzesień 2009 Autor Napisano 22 Wrzesień 2009 no właśnie u mnie myślenie boli :D jeszcze raz dzięki :)
secret Napisano 23 Wrzesień 2009 Autor Napisano 23 Wrzesień 2009 Chyba nie będę zakładać nowego tematu :) Mam jeszcze pytania: 1. Jak zrobić by te przewijanie było automatyczne (bez klikania) po najechaniu kursorem? 2. http://www.unk.pl/szklarska w zakładce kontakt, nie wpisuje polskich znaków. Przeszukałam wiele tematów o tym w internecie, próbowałam różnych sposobów i żaden nie działa. Ktoś ma jakiś pomysł?
zgred Napisano 23 Wrzesień 2009 Napisano 23 Wrzesień 2009 1. Może to niezbyt ogarnięte rozwiązanie, ale o tej porze nic rozsądnego nie przychodzi mi do głowy. Suwaki które byłyby odpowiedzialne za przewijanie niech będą MovieClip'ami, tam na początku w nich daj stop a później jakaś pętle wraz z akcja na przesuwanie tego co chcesz przewijać. Po najechaniu na MovieClip odpowiedzialny za przewijanie będzie odsyłać do pętli. Po zjechaniu z MovieClipa do klatki Stop. Mam nadzieję, że jasno opisałem. Jak nie, to może zrobię przykładowy fla. 2. Tam gdzie masz wybór czcionki itp. powinna być taka ikonka jak embed. Tam wystarczy wpisać wszystkie polskie znaki.
La R Napisano 24 Wrzesień 2009 Napisano 24 Wrzesień 2009 Z tymi ogonkami to zawsze są jakieś problemy i generalnie trzeba się trzymać przy flaszce ze wszystkim innym w utf8. Prawdopodobnie później przy odczycie jest problem i trzeba by tuż przed wysłaniem zwartość maila przekonwertować do latin2. Co do przewijania to myślę, że całkiem dobrze sprawdziło by się coś takiego: var zmienna_przerwania:Number; przewijanie_gora.onPress = function () { zmienna_przerwania = setInterval(funkc,100); function funkc() { miniaturki._y -=2; } przewijanie_gora.onRelease = function () { clearInterval(zmienna_przerwania); } } dla dolnego będzie tak samo. setInterval wywołuje daną funkcję ( func ) co określony czas - w tym przypadku co 0.1s.
secret Napisano 24 Wrzesień 2009 Autor Napisano 24 Wrzesień 2009 dzięki wielkie za odpowiedzi. problem rozwiązany - okazało się że przyczyną braku polskich znaków była przeźroczystość we flashu. transparenta dodałam do flasha by było widać tło i to było tego przyczyną.
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ę