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
Problem z poruszeniem obiektu o wartość kąta i z powrotem
Autor Wiadomość
voytas
Początkujący


Dołączył: 12 Sty 2010
Posty: 3
Skąd: częstochowa
Wysłany: Wto 12 Sty, 2010 14:33   Problem z poruszeniem obiektu o wartość kąta i z powrotem

Witam,

Chcę wykonać efekt reflektora - szperacza. Promień skierowany w gorę porusza się w lewo i w prawo o pewną wartość zadanego kąta.
Przesunięcie promienia o wartość kąta w jedną stronę to nie problem:

Kod:

onSelfEvent(EnterFrame) {

        if (szper._rotation<125) {

            szper._rotation += 4;

                                           }
                                       };


Problem w tym ze nie wiem jak wrócić z promieniem do punktu wyjścia. Kombinowałem coś takiego:
Kod:

onSelfEvent(EnterFrame) {

        if (szper._rotation<125) {

            szper._rotation += 4;

                                           }

         if (szper._rotation==125) {

            szper._rotation -= 4;
                                               }
                             };


ale niestety nie działa w 100%. Promień leci w prawo o 125 stopni i staje w miejscu i po animacji....
Proszę o pomoc.

Pozdrawiam
Voytas
 
     
smok3n 
Praktyk


Pomógł: 3 razy
Dołączył: 06 Sie 2009
Posty: 23
Skąd: Lublin
Wysłany: Wto 12 Sty, 2010 15:20   

Można się pokusić o fizyczne paramtry obiektu _vrotation, w tym celu utwórz mc'eka i nazwij go szper, tak jak to zrobiles, ustaw sobie anchor'y tam gdzie ma być oczekiwany punkt obrotu ( to ważne jeżeli obiekt nie jest symetryczny - a pewnie taki nie będzie); użyj do przesuwania punktu kursora myszki z przytrzymanym klawiszem [Alt]; w szper wpisz takie coś :
Kod:
onSelfEvent (load) {
    zmienna = 0; // to zostawiasz, bo to licznik
    okres = 40; // to mozna powiedziec jest czas obrotu
    predkosc = 40; // to predkosc obrotowa
}
onFrame (1) {
   
    if (zmienna < okres) {
        this._vrotation = predkosc;
    }
   if (zmienna >= okres) {
       if (zmienna >= 2*okres){zmienna = 0;}
        this._vrotation = -predkosc;
    }
    zmienna+=1;   
   
}

onFrame (2) {   
    prevFrameAndPlay();
   
}


Powinno działac poprawnie, ale nie zapomnij ustawić Export settings for movie na mc'eku szper ustaw Uses Physics Properties i w ogólnych dla filmu Support Physics Properties, w przeciwnym wypadku nie zadziała :[

Daj znać jak zadziała bo nie próbowałem, nie mam Słiszka pod ręką :[

Kurde ale byczka strzelilem troche :D moja wina !!

Tutaj skrypt łatwiejszy BEZ PHYSICS PROPERTIES
Kod:
onSelfEvent (load) {
    zmienna = 0; // to zostawiasz, bo to licznik
    okres = 40; // to mozna powiedziec jest czas obrotu
    predkosc = 4; // to predkosc obrotowa
}
onFrame (1) {
   
    if (zmienna < okres) {
        this._rotation += predkosc;
    }
   if (zmienna >= okres) {
       if (zmienna >= 2*okres){zmienna = 0;}
        this._rotation += -predkosc;
    }
    zmienna+=1;   
   
}

onFrame (2) {   
    prevFrameAndPlay();
   
}


Nie ma to jak sobie utrudniać życie :D
_________________
Smok3n
 
     
voytas
Początkujący


Dołączył: 12 Sty 2010
Posty: 3
Skąd: częstochowa
Wysłany: Wto 12 Sty, 2010 20:14   

Serdeczne dzięki smok3n - biega aż miło :wink:
 
     
^Januszr 



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

Najbardziej prostackie rozwiązanie w załączniku.
 
     
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.09 sekundy. Zapytań do SQL: 11