Polish

Logowanie 

Nowiny z Internetu 

Reklama 

button rpgmakerbutton szowelbutton gamestiabutton tsukurubutton fantasybestarium manganimebutton kyaaretrobuttonrmtekabutton 1

Kto jest on-line 

Odwiedza nas 74 gości oraz 0 użytkowników.

Metoda kątowa cyklometryczna

Funkcje cyklometryczne to funkcje odwrotne do funkcji trygonometrycznych, nie ma w tym wielkiej filozofii, odpowiednikiem tg(x) jest arctg(x) (arcus tangens), w Mugenie: Atan(x).

tg(x) = P2Dist Y / P2Dist X
tg(pi/4) = 1
arctg(P2Dist Y / P2Dist X) = x
arctg(1) = pi/4

W poprzedniej sytuacji nie można było użyć takiego zapisu, bo tg(pi/4) = 1, ale tg(1) to nie jest pi/4. Wszystko działa na tych samych zasadach z tym, że działania są bardziej przejrzyste. Dodatkowo ponieważ oś Y jest odwrócona, proponuje wstawianie minusa przed P2Dist Y kiedy sprawdzać będziemy położenie nad postacią, to jeszcze bardziej ułatwi przeglądanie kodu.

Atan(P2Dist Y / P2Dist X) = 0 ; Przeciwnik na równi z postacią.
Atan(P2Dist Y / P2Dist X) = pi/4 ; Przeciwnik pod kątem 45o w dół.
Atan(P2Dist Y / P2Dist X) = [-pi/12, pi/12] ; Sprawdzamy czy przeciwnik jest pod kątem od -15o (u góry) do +15o (u dołu).

 

Przykład:

[State 1, w gore do 90]
trigger1 = Atan(-p2dist Y / p2dist X) = [pi/3,pi/2)
trigger2 = p2dist X = 0 && p2dist Y < 0
type = varset
v = 1
value = 4

[State 1, w gore 45]
trigger1 = Atan(-p2dist Y / p2dist X) = [pi/8,pi/3)
type = varset
v = 1
value = 2

[State 1, na rowni]
trigger1 = Atan(p2dist Y / p2dist X) = (-pi/8,pi/8)
type = varset
v = 1
value = 1

[State 1, w dol 45]
trigger1 = Atan(p2dist Y / p2dist X) = [pi/8,pi/3)
type = varset
v = 1
value = 3

[State 1, w dol do 90]
trigger1 = Atan(p2dist Y / p2dist X) = [pi/3,pi/2)
trigger2 = p2dist X = 0 && p2dist Y > 0
type = varset
v = 1
value = 5

Napisz komentarz w tym Artykule 


Komentarze (pokazuje maksymalnie 10 wpisów)  

funny963 Avatar
2017/04/01 14:40 funny963 #274
Cieszę się, że uzupełniasz materiały. Dla mnie są bardzo pomocne. Doceniam Twoją pracę i będę korzystał z Twoich rad. Dzięki i miłego dnia. :)