SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Obrót obiektu
Autor Wiadomość
Marc 
Doradca


Dołączył: 26 Lis 2009
Posty: 70
Skąd: Polska
Wysłany: Sro 13 Sty, 2010 14:28   Obrót obiektu

Witam. Na początku przedstawię kod:
Przycisk:
on (rollOver) {
_root.kolo.destination = 1600;
}

Obiekt który ma się obarcać:
onSelfEvent (enterFrame) {
_rotation = Math.approach(_rotation, _root.kolo.destination, 0.65);
}

Po uruchomieniu obiekt nie obraca się o 1600 stopni tylko kręci się cały czas. Wszystko działa dobrze do 180 stopni, a powyżej tej wartości animacja się tak jakby powtarza i obiekt cały czas się kręci i nie zatrzymuje. Dlaczego się tek dzieje? Jak temu zaradzić?
Z góry dziękuję za odpowiedź.
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Sro 13 Sty, 2010 15:13   

walkaround.
 
     
Marc 
Doradca


Dołączył: 26 Lis 2009
Posty: 70
Skąd: Polska
Wysłany: Sro 13 Sty, 2010 15:34   

No tak... ale moja animacja opiera się na przesuwaniu szyny zębatej koło której jest koło zębate którego animacja musi być poprawna. Jeżeli szyna przesunie się o jedną pozycję (np. 1 metr) to koło zębate powinno przekręcić się o np. 360 stopni, jeżeli szyna przesunie się o 3 pozycję (3 metry) koło wykonuje obrót o 1080 stopni. Więc przykładowo

1 przycisk - 10 stopni
2 przycisk - 20 stopni
3 przycisk - 30 stopni
4 przycisk - 40 stopni

jeżeli szyna zębata ustawiona jest na 2 pozycji (przesuwa się tam po naciśnięciu 2 przycisku), a naciśnie się przycisk 3 koło zębate powinno przekręcić się o 10 stopni.

Wszystko by działało w moim kodzie gdyby nie ten problem opisany w pierwszym poście.
(Mam nadzieję że napisałem wszystko zrozumiale :D )
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Sro 13 Sty, 2010 21:42   

Też na efektach się da :P np to jest na efektach move:
http://infocentre.pl/pliki/planetarna.exe

A odnośnie skryptu to pochrzaniłem i musiałem zapytać się mądrzejszych. Mam nadzieję, że przyda Ci się - w załączniku masz, mam nadzieję, to co potrzebowałeś.
 
     
Marc 
Doradca


Dołączył: 26 Lis 2009
Posty: 70
Skąd: Polska
Wysłany: Czw 14 Sty, 2010 14:38   

Trochę to skomplikowane :/ A czy zapomocą tych funkcji co podałem w pierwszym poście nie dałoby się tego jakoś zrobić?
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Czw 14 Sty, 2010 18:57   

Prościej nie potrafię. Nie znalazłem żadnej specyfikacji _rotation - wydaje się jednak (co logiczne było by), że obrót może być nie większy niż kąt pełny - w innym przypadku obraca się w kółko. Dlatego trzeba licznik :P
Teraz masz już na zmiennych.
Obsługa:
ustal "kroczki" na wartość zadowalającą, przez którą da się podzielić kąt;
ustaw sobie w buttonach zmienną obroty, np.,jak w pierwszym guziku:
on (release) {
var obroty : Number = 90;
}

Inaczej się zapewne da, ale za wysokie progi...
Zdrówko
 
     
Marc 
Doradca


Dołączył: 26 Lis 2009
Posty: 70
Skąd: Polska
Wysłany: Pią 15 Sty, 2010 11:58   

Niby wszystko działa tak jak powinno, ale to jeszcze nie to :/ W mojej animacji każdy obrót powinien trwać tyle samo. Jeżeli np obrót o 10 stopni trwa 2s to o 400 stopni też powinien tyle trwać. Wracając jeszcze do kodu podanego w pierwszym poście czyli:

onSelfEvent (enterFrame) {
_rotation = Math.approach(_rotation, _root.kolo.destination, 0.65);
}

Zauważyłem że jeżeli zmieni się wartość 0.65 na 0.1 wszystko działa tak jak powinno tylko animacji nie ma obiekt po prostu przeskakuje na końcową pozycję. I tu mam pytanie czy to może być spowodowane, że wartość 0.1 działa, a np 0.65 nie?
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Pią 15 Sty, 2010 18:16   

Dorzuć plik swi - coś pokombinuję, aby wszystko wyglądało ok.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.07 sekundy. Zapytań do SQL: 10