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

M
~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.

M
~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

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

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

Najnowsze wersje GameMakera:

Stabilna
2024.11.0.179 • 2024.11.0.227
wydana 84 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 100 dni temu
Beta
2024.1300.0.775 •
2024.1300.0.781
 0.15.4

wydana  dziś
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
56 użytkowników online na discordzie:
c..., Nikas, Alice, LeD, Carl-bot, Saus, p..., lethian, Grela, Wielki Druid, Kuzyn, GMRussell, OdrzuconyKrakers, Filyps, fervi, 𝕳𝖚𝖌𝖔 𝕲𝖔𝖓𝖝𝖆𝖑𝖊𝖝, PhysX ᴺⱽᴵᴰᴵᴬ, r..., Cysior, 🧁Cupcake🧁, Skini, antek, chleb, Moldis, LolikZabijaka, Arrekin, m..., MagnusArias, yazaa, Dyno, 🆅🅸🆃🅾74🅼, Deusald, szmalu, Morro, ZYGZAK, Miłosz, LadyLush, 21Lancz, Voytec, bagno, Tidżi, Danieo, Mtax, Kandif, g..., Huder, l..., Cebul, Jayu, s..., Add92, Krzysiek1250, h..., Shockah, exigo, xVANiLL
Shoutbox
gnysek (00:38, 11.03.25)
I jak, zobaczyłeś ? :D Trochę im zjechało na publiczny release, ale były już w ostatnich dniach lutego dostępne jak się wie, jak pobrać kandydatów do bety :P
Kuzyn (21:30, 05.03.25)
uwierzę jak zobaczę :P
gnysek (10:35, 18.02.25)
W ciągu 10 dni mają wyjść w końcu Layery UI :D
Wojo (10:25, 27.12.24)
Jak tworzyłeś* ah ta niecną autokorekta (kiedyś też stworzyłem apki na androida w sumie)
Wojo (10:23, 27.12.24)
O siemka baca, czasami myślę o tobie w kontekście tego jak tworzyłem apki na androida. Swoją drogą czasami zapominam, że forum istnieje bo cały ruch teraz utrzymuje się na discordzie, ale pora to zmienić!
Uzjel (20:17, 10.12.24)
Cały ruch przeniósł się na Discorda.
MagnusArias (17:43, 01.12.24)
O matko... a ja tutaj jestem od ponad 15 lat i czasami zaglądam... biernie bo biernie, ale czasem wpadnę
gnysek (11:46, 17.11.24)
Witamy, witamy!
baca (12:22, 16.11.24)
To już 25 lat.. Witam po paru latach nieobecności.
gnysek (11:05, 15.11.24)
Natomiast obecne forum istnieje od 2004, jak z iglu.cz na gmclan.org przeszliśmy i od tego czasu nie było resetów danych.
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?