Fizyka liny (prawie jak w Worms)

Przykład pokazuje sposób zaimplementowania fizyki liny podobnej do tej znanej z serii Worms. Różnicą jest to że lina się nie zgina. Kod może być trudny do zrozumienia dla początkujących.

Autor: Platyna

Rozmiar
12 KB
Autor
Platyna
Ocena
8/10
16 głosów
Komentarze
Komentarze (łącznie 14):
Platyna (Czw., 31 Gru. 09, 00:31)
#1

Jest to remake mojego przykładu który dawno temu wrzucałem na forum. :P
Na GMClanie był już przykład pokazujący jak zrobić linę, ale był on bardzo słaby i niedopracowany :)

S
slash (Czw., 31 Gru. 09, 08:27)
#2

Przyznam, że po części się zawiodłem, a po części jestem pozytywnie zaskoczony :) . Rozczarował mnie fakt, że ta lina nie jest wrażliwa na teren i nie da się nią osiągać dziwnych kształtów jak w Wormsach (po prostu nie doczytałem napisu "PRAWIE jak w Worms"). Z drugiej strony, przyciąganie jest bardzo pro i nawet Wormsy się chowają :P . Kod jak dla mnie zagmatwany, ale dla początkujących będzie łatwiej, bo całość podzieliłeś na wiele Eventów, do czego ja nie jestem przyzwyczajony.

10/10.

Muuuuczek567 (Czw., 31 Gru. 09, 08:38)
#3

Normalnie poczułem się, jakbym grał w Wormsy :)
Prawie identyczne zachowanie się liny (jeśli nie liczyć niezginania się liny), czyli PRAWIE jak w Worms.
Cel przykładu spełniony. 10/10

Roki (Czw., 31 Gru. 09, 08:57)
#4

Fajna linka :D
Daje 10/10, może kiedyś użyje, a stary przykład, tworzyłeś chyba dla mojego starego konta, CP-Player, jak chciałem robić Liero ;p

R
Rafik01 (Czw., 31 Gru. 09, 09:34)
#5

10/10

Ale znalazłem buga. Przykład testowany na wersji 6.0. Gdy celownik zniżymy jak najbardziej w dół ( 270 stopni ) i spróbujemy wystrzelić linę, wyświetla błąd.:
"ERROR in
action number 1
of End Step Event
for object player:

Error in code at line 12:

kat=((v+a/2)/(2*pi*len))*360; //wyliczamy kąt o jaki się przemieścimy w tej klatce

at position 20: Division by 0."

S
slash (Czw., 31 Gru. 09, 09:56)
#6

Rafik, wystarczy do dzielnika dodać wartość 0.000001. Dobrze, że Platyna tego nie dodał, bo by się z kolei każdy dziwił, skąd się to wzięło :P ...

Platyna (Czw., 31 Gru. 09, 10:30)
#7

Ja ten błąd wyczaiłem chwilę po tym jak przykład umieściłem. Nie chciało mi się już drugi raz wysyłać więc stwierdziłem, że jeżeli ktoś przykład zrozumie to to już będzie w stanie sam sobie poprawić. A jak ktoś będzie bezmyślnie kopiował to będzie miał z drobnym bugiem :D

Roki (Czw., 31 Gru. 09, 10:38)
#8

Mi sie nie przyda na razie, więc nie musiałem kopiować ;p

Mimek (Czw., 31 Gru. 09, 12:38)
#9

Bardzo dobry przykład. Kod wcale nie jest taki trudny ;)

Platyna (Czw., 31 Gru. 09, 12:41)
#10

No wiesz, na GMClanie jest masa osób które nie widzą co to cosinus, nie mówiąc już o wyliczaniu składowej wektora. Taki Michaś jeszcze nie dawno nie wiedział co to jest pierwiastek :P
Ty to jesteś kozak to dla ciebie to zrozumiałe jest.

Mimek (Czw., 31 Gru. 09, 12:46)
#11

Kozak jak kozak, ale jeśli ktoś chce brać się za programowanie, to podstawowe funkcje matematyczne należy znać.

Platyna (Czw., 31 Gru. 09, 12:49)
#12

Nie zgodzę się. Nie wydaje mi się by wszyscy musieli je znać już w podstawówce. Ważne by prędzej czy później je poznali.

Roki (Czw., 31 Gru. 09, 13:02)
#13

Ja robie gry od kąd mam 10 lat, już 3 lata xD
Wtedy to ładowałem grafike GM'a i ustawiałem tylko chodzenie lewo, prawo, góra, dół, bez zmiany spr, bez obliczeń matematycznych, a była gra :D

Mimek (Czw., 31 Gru. 09, 13:02)
#14

Otóż to, Platyna. To chciałem powiedzieć moim poprzednim komentarzem.

Najnowsze wersje GameMakera:

Stabilna
2024.2.0.132 • 2024.2.0.163
wydana 24 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 163 dni temu
Beta
2024.400.0.526 • 2024.400.0.547
wydana  wczoraj
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
47 użytkowników online na discordzie:
s..., Alice, Nitro Slav, Carl-bot, Sporek, p..., Voytec, Dominator2v, GibkiKaktus, Grela, p..., 21Lancz, Kowu, fervi, m..., YoungKrystian, Sevitaus, r..., antek, 🧁Cupcake🧁, Uzjel, lethian, HappyOrange, MKP (GEM), Moldis, Arrekin, MagnusArias, yazaa, Domeen0, Dyno, Deusald, ZYGZAK, 𝕳𝖚𝖌𝖔 𝕲𝖔𝖓𝖝𝖆𝖑𝖊𝖝, Miłosz, p..., m..., bagno, g..., Danieo, DungeonFairy🧚, Alkapivo, moeglich, Draczeq, Nikas, Krzysiek1250, Shockah, Cosplyfanka
Shoutbox
I am Lord (19:15, 17.03.24)
6h mam na to hmmm
I am Lord (19:06, 17.03.24)
Ale temat fajny
gnysek (01:33, 13.03.24)
Powinno działać, jest w kodzie sortowanie wg. najbliższego startu :)
Uzjel (21:59, 11.03.24)
Nie, ale za pierwszym razem zrobiłem fuckup, że było "Tura testowa" X_X
I am Lord (16:58, 11.03.24)
A co Uzjel już masz nawymyślane 100 tematów? 😅
Uzjel (20:08, 10.03.24)
@gnysek a jak bym dodał kilka lig na raz to walnie?
Uzjel (20:08, 10.03.24)
Liga będzie zawsze od piątku 16:00 do poniedziałku 23:59, zawsze w środku miesiąca.
gnysek (08:48, 10.03.24)
Tak, to też jest do poprawy X_X
Adriann (18:22, 09.03.24)
Tylko myślę czy nie leiej gdyby mówiło że zostało tyle i tyle dni i ileś godzin a nie tylko w godzinach ;d Albo konkretna data obok, byłoby czytelniej
I am Lord (15:08, 08.03.24)
o super z tą ligą :)
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?