Przykład promienia i raila
Przykład aż 4 różnych zastosowań rysowania promieniu lasera lub raila. Promień zastosowano jako:
- broń
- czujnik
- wskaźnik
- wektor siły
Efekt naprawdę ciekawy, przykład obszerny, kod opisany. Można polecić.
Autor: ZeroXbot
gmclan.org/up5655_12_laser.html
Zrobiłem własny efekt lasera. Jak dla mnie, jest lepszy i łatwiejszy, a dla Was?
Jak dla mnie to naucz się pojęcia laser :| i nie szpanuj tą trygonometrią i w ogóle bo masz gotowe funkcje, a ty na siłę pokazujesz jakie ty zdolności masz :|
I dupa, się czegoś nauczył i ma czym szpanować w przeciwieństwie do was, którzy używają gotowców. I ch*.
to, że używam gotowców, to nie znaczy, że nie znam trygonometrii (pobieznie, ale umiem) i nie umiem zamieniać stopni na radiany i na odwrót, ale jak juz są funkcję to przecież można ich używać.
Patrzyłeś na szybkość mojego lasera i na mojego?
Na moim komputerze wygląda tak:
Przed strzałem:
Ja:560-580 fps
Ty:700 fps
Po strzale:
Ja:520 fps
Ty:30-180 fps (!)
Pisząc "Ty", mam na myśli railguna.
nie pisałem, że przykład jest zły, ale railgun=/=laser. Pozatym na pierwszy rzut oka widać róźnicę pomiędzy setkami/tysiącami drawowanych sprite'ów raila, a kilkoma-kilunastoma particlami.
W sumie tak... Oba przykłady mają złe strony:
-u Ciebie szybkość gry po wystrzale zależy od tego, czy i jak daleko cel został trafiony;
-a particles chyba nie są zapisywane z grą, prawda?
no i kolizje trochę spaprałeś, bo się źle zatrzymuja o ściany, zresztą u mnie też, lecz u ciebie bardziej to widać . Dawidds na forum dał przykład jak to zrobić poprawnie. zobacz sobie
Przykład Dawiddsa jest świetny,ale:
a) wolniejszy (chociaż wiem, że szybciej się nie dało);
b) mało kto go zrozumie...
U mnie zależy to od wartości zmiennej mnoz, poza tym można zmienić shape'a lasera, life na 5 i orientation na relative 1, a przy naciśnięciu Ctrl dać taką linijkę:
part_type_direction(typ_l,direction,direction,0,0)
na początku. Zrobiłem tak i jest całkiem dobrze (mnoz = 3), szybkość gry się nie zmienia.
Trochę brzydko tylko wygląda, ale będę się jeszcze przy tym bawić.
mało kto go zrozumie... no ale są przykłady proste, a są i złożone, które wymagają wiekszego stopnia zaawansowania, żeby zrozumieć. Nie wszsystko początkujący będzie w stanie zrobić, nawet kosztem wielkiej nieoptymalizacji itp.
Chcesz modyfikację pozwalającą stosować dowolny krztałt lasera?
Może i jest nieznacznie wolniejszy (aczkolwiek wykorzystując to do strzelania, gdzie chyba nie strzelamy 60 razy na sekundę, a i nie potrzebujemy wykrywania kolizji co do piksela różnica jest naprawdę niezauważalna), ale za to mój ma jakieś zastosowanie.
Twojego, szczerze mówiąc, nie wyobrażam sobie wsadzić do czegokolwiek... xd
I nie przesadzaj ze skomplikowaniem kodu.
Akurat ten laser jest prosty do zrozumienia.
Mój laser może mieć zastosowanie, wklepiesz linijkę:
(instance_nearest(xx,yy,all)).health -= /ile chcesz/
po else w skrypcie "laser_create" i będzie niszczyć obiekty.
myślę, że chodzi o to, że nie wpasuje się "taki rail" w żadną grę, bo to taki stek kulek, które nieprzypominają tego oryginalnego raila, z quake np. Przynajmniej ja tak uważam
Najnowsze wersje GameMakera:
wydana 75 dni temu
wydana 3 dni temu
wydana 9 dni temu