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 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 |
_________________ 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 |
|
|
|
 |
^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. |
|
|
|
 |
|