NukeBoards

Pomoc - [TGF]Prędkość obiektów

Temporal - 15-11-2005, 10:46
: Temat postu: [TGF]Prędkość obiektów
Może tu ktoś pomoże? Na każdym forum każdy mnie olewa lub niewie (sam niewiem :P ).
Czy da się jakoś zrobić prędkość obiektów szybszą niż 100? Zauważyłem że na tym forum dobrze rozwija się dział pomocy więc licze że mi także ktoś pomoże.

Edit: Zależałoby mi żeby dało się to zrobić w TGF'ie.
BROO - 15-11-2005, 11:12
:
Polecam zaznajomić się z kursem FG:
http://drewicz.superhost.pl/fg/kursy/20.html

Powinien Ci przybliżyć trygonometryczne podstawy ku wyliczaniu prędkości w zadanym kierunku. Jeżeli nadal będziesz przekonany do wykonania takiej szybkości - daj znać, to objaśnię (chwilowo nie mam czasu).
Fadex - 15-11-2005, 16:01
:
Da się zrobić większą szybkość w TGF za pomocą Fast Loopa ( www.nukesoft.xn.pl - "strzał +" w tym przykładzie pokazane jest jak zrobić dokładny i szybki strzał )
Tasmpol - 15-11-2005, 16:16
:
Temporalu, zależy, w ilu kierunkach. Jeżeli nie wiecej od 8 - nie ma problemu. Jak więcej - trzeba połamać głowę.
Robi się to za pomocą Fast Loopa - może już go znasz, może nie, ale jeżeli nie, to go poznaj - to potężne narzędzie, niezbędne dla profesjonalnego klikowania. Zrobiłem kiedyś przykładzik do tego i możliwe, że też artykuł. Czekaj sekundkę...
Tak! Proszę:

Cytat:
O co chodzi?
O co chodzi... O co chodzi... a to coś dość szybko chodzi. O czym mowa? Taak. Znowu zajmiemy się szybką pętlą. Witam w kolejnym odcinku praktycznego wykorzystywania rozszerzeń. Po raz drugi już stworzymy za pomocą Fast Loopa broń. Jaką broń? No właśnie. Broń palną, o dużej szybkości pocisku. Postaramy się zrobić pocisk poruszający się o 1px, czyli dokładny, ale poruszający się z prędkością 100px na pętlę. Jak by to wyglądało bez FL? Zawsze: Przesuń pocisk o 100px w lewo. No, i taki pocisk wykonuje skoki i może ominąć przeszkodę. Najlepiej więc posłużyć się szybszą pętlą. Niech w jednej pętli TGF ona wykona się 100 razy. I w każdej szybkiej pętli niech przesunie obiekt o 1px. Proste? No to zaczynamy :)
Wykonanie.
Zrobimy to do platformówki - w 2 kierunkach. Jeżeli Bohater patrzy w lewo/prawo to przesuń Pocisk o jeden px w lewo/prawo. Problem pojawia się gdy używamy wbudowanego ruchu platformowego. Podczas skoku postać patrzy się w górę. Dlatego pokusiłem się o takie rozwiązanie i uważam, że mimo niewygodny sprawuje się one dość dobrze. Ok, od słów do czynów.
Rzecz w tym, że jak postać patrzy się w lewo i naciskamy w prawo to patrzy w prawo. Za każdym razem jak naciśniemy klawisz postać zmienia kierunek. Toteż użyjemy licznika. Jeżeli licznik wskazuje 1 to znaczy że postać patrzy w lewo. Jeżeli 2 to znaczy, że w prawo. Skoro tak jest, to znaczy, że musi lecieć pocisk w kierunku tym, gdzie patrzy się bohater. Załapałeś?
Potrzebujesz przede wszystkim Bohatera z ruchem platformowym. Do tego Pocisk i Fast Loop i jeden licznik. Ok, teraz bierzemy się za rdzeń - zdarzenia.
Wszystko to to będzie ok... 6 zdarzeń. No problemo. Zacznijmy:
1# Zawsze startuj pętlę #0 100 razy (100 oznacza prędkość. Możemy dać 10, 10000, bez znaczenia).
2# W pętli #0 oraz Licznik wynosi 1: Ustaw pozycję Pocisku X na X( pocisk ) - 1.
3# W pętli '#0 oraz Licznik wynosi 2: Ustaw pozycję Pocisku X na X( pocisk ) + 1
4# Użytkownik naciska Ctrl: Stwórz obiekt Pocisk na 0,0 od Bohatera.
5# Użytkownik naciska Strzałkę w prawo: Ustaw Licznik na 1
6# Użytkownik naciska Strzałkę w lewo: Ustaw Licznik na 2.
Już? Podoba się? Noo. Sprawdź, czy działa. Jak działa to możesz sobie pogratulować - zaliczyłeś egzamin z konstrukcji broni :) Jeszcze mała uwaga, pamiętaj, że jak będziesz robił kolizje Pocisku z czymś to zawsze umieszczaj to w pętli #0. Ok? Zapamiętaj. A teraz żegnam się i zapraszam do lektury kolejnego kursu. Pozdrawiam!


Jeżeli go nie strawisz (prawdopodobne) to umieszczę przykład.
Całą rzecz polega na zrozumieniu FL. Miałem kiedyś art, który świetnie go opisywał, wiele osób mi mówiło, że po przeczytaniu go pojeło FL. Ale, nie mam już go...
Broo, tym razem Cię wyprzedziłem :P
Fadex - 15-11-2005, 16:40
:
Wszystko pięknie, ale jak ktoś strzeli w lewo i obróci się w prawo, to pocisk leci w prawo... :)
Proponuję użycia wartości A, B, lub C pocisku zamiast licznika, lub też tak:
Jeżeli gracz naciśnie strzał + gracz kierunek <- = ustaw kierunek "pocisk" jako <-
Jeżeli pocisk ma kierunek <- = pętla fastloopa #0 pętla 100 i pixele na lewo.
To samo należy zrobić na prawo.
Tasmpol - 15-11-2005, 16:45
:
Tak, wiem o tym. Ale nie chciało mi się tego poprawiać :D Zresztą, ten pocisk leci tak szybko, że zanim zdążysz się obrócić to będzie on poza grą, a obiekty daleko poza planszą są niszczone. Chociaż, można to poprawić, ale to już sam musisz zrobić :D
Minty - 15-11-2005, 18:04
:
Ilość uruchamianych pętli ma duże znaczenie. Jeśli pętla wykonuje dużo kodu, to duża ilość pętli może spowolnić działanie gry. Poza tym zapraszam do obejrzenia zasobów silników NS :)
Cage - 18-11-2005, 22:47
:
Jeśli wystarczą ci 4 kierunki to prosze bardzo :)

http://fire.duke.org.pl/t.../strzelanie.zip
Temporal - 19-11-2005, 20:56
:
Każdy się rozpisał a ja zapomniałem by to przeczytać i sprawdzić :P . Wsumie ostatnio niemam zbyt dużo czasu więc odpaliłem przykład cage (przykłady są najlepsze :) ) i jednak jest to niedokońca to co chciałem :( . Cztery kierunki to jednka zamało. Da się ten przykład jakoś przerobić na 32? Całość przykłady kumam tylko zastanawiam się czy przy 32 niebędzie jakiś problemów z wartością x i y. Czekam na jakiś przykład a jak nie to się wezme w ostatecznosći za tekst Broo :P .
Tasmpol - 19-11-2005, 21:02
:
Zaraz... Kiedyś miałem przykład (autorstwa drugiego admina E-TGF) na ruch w 32 kierunkach... Gdyby go przerobić odpowiednio to by było jak znalazł! Poczekaj, jak uda mi się znaleźć i przerobić to zrobię edita..
Fadex - 19-11-2005, 21:02
:
Ma być a'la otoczony?
Jak tak, to:
http://chomikuj.pl/Klikib.../ef+b4+BROO.zip
Otoczony odblokowany (1.0)
lub:
http://romanx.webd.pl/index.php?27
(strzał + czyli proste objaśnienie strzału, a'la otoczony)
To tyle!
Temporal - 19-11-2005, 21:19
:
Wszystko fajnie tylko niemam gfamath.gox :( . Skąd to pobrać? Jakoś niemoge na żadnej stronie z pluginami tego znaleźć :doubt: .
Tasmpol - 19-11-2005, 21:20
:
Masz u Bedzia "140 pluginów w gustownym instalatorku" ... Z pewnością znajdziesz tam A. Math.
Fadex - 19-11-2005, 21:22
:
Dałem na rapidshara...
Ten plug-in będzie ci bardzo potrzebny...
http://romanx.webd.pl/down/ext/ext_gfamath.zip
Temporal - 19-11-2005, 21:24
:
Thx!!! Cieszę się że na NB są spoko userzy którzy zawsze pomogą.