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.14.3.217 • 2024.14.3.260
wydana 14 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 434 dni temu
Beta
2024.1400.4.986 •
2024.1400.4.961
 0.19.0

wydana  6 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
56 użytkowników online na discordzie:
Miłosz, Morti, 🧁Cupcake🧁, Sporek, Grela, LeD, Carl-bot, pABLO, Fox, p..., PanPupa, GibkiKaktus, krzychu, HappyOrange, Wielki Druid, b..., Kuzyn, GMRussell, Tival, Filyps, fervi, 𝕳𝖚𝖌𝖔 𝕲𝖔𝖓𝖝𝖆𝖑𝖊𝖝, 𝕯𝖎𝖆𝖓𝖆, PhysX ᴺⱽᴵᴰᴵᴬ, r..., Threef, Voytec, Uzjel, Cysior, Chell, chleb, Murrri, firemark, Dyno, 🆅🅸🆃🅾74🅼, Deusald, szmalu, Korodzik, Destiny, Morro, Skovv, Danieo, bagno, antek, Arrekin, Mtax, g..., GreenClover, PeekoHiko, s..., Cebul, Borek, Krzysiek1250, h..., Shockah, xVANiLL
Shoutbox
K
Kamilek (21:57, 08.12.25)
Ale klimat tu znowu wrócić! :-D
Wojo (13:03, 07.12.25)
Żeby nie było to jednak discord jest żywy :)
Wojo (12:50, 07.12.25)
Ehh znak czasu. Prawie dwa miesiące ciszy w shoutboxie, na forum też raczej cisza i jest głównie swego rodzaju archiwum ostatnich dwóch dekad
gnysek (16:01, 16.10.25)
To już google decyduje. Mam wrażenie, ze po datach obcina stare treści.
S
Sutikku (10:42, 14.10.25)
Ja jeszcze trafiam na fora jak szukam konkretnych haseł (chociażby wczoraj zepsuty pendrive który się identyfikuje jako Phison 2307 Boot ROM). Teraz projekty opensource często mają społeczności na discordzie i tam jest tona przydatnych informacji ale niedostępna poza discordem. Fajnie by to było wyeksponować
Korodzik (04:24, 14.10.25)
A w sumie to forum się normalnie indeksuje w wyszukiwarkach? Bo ja stwierdziłem, że np. w Google ciężko znaleźć cokolwiek z gmclanowego forum. Większość tematów jest chyba nieindeksowana od dawna...
S
Sutikku (08:44, 13.10.25)
mam niedokończony projekt bota, którego dodaje się do discorda, a on synchronizuje wiadomości z discorda -> na readonly forum. Wtedy treści mogą być indeksowane z wyszukiwarek i łatwo dostępne bez logowania. No ale leży w czyśćcu i czeka.
Wojo (11:52, 11.10.25)
Może kiedyś powróci moda na fora internetowe. Pamiętam w sumie, że czasami aktywność rosła i malała, ale tak pusto to chyba jeszcze nigdy nie było i myślę, że ta cała migracja użytkowników jest zasługą Discorda i zmiany czasów. Po prostu lata dwudzieste spowodowały zmiany trendów w internecie
S
Sutikku (09:06, 08.10.25)
najwyższa pora zopensourcować kod gmclanu!
gnysek (10:33, 06.10.25)
Może tak zrobię :D Jak znajdę czas :D
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?