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
2023.8.1.102 • 2023.8.1.148
wydana 14 dni temu
LTS
2022.0.1.31 • 2022.0.1.30
wydana 169 dni temu
Beta
2023.800.0.406 • 2023.800.0.429
wydana 30 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
10 użytkowników online na discordzie:
ACCESS_ViOLATiON, MKP, Carl-bot, PolTomski, Alkapivo, Moldis, LadyLush, bagno, Dyno, lakas
Shoutbox
gnysek (14:59, 28.09.23)
Poszedł dziś update strony :)
Adriann (21:06, 14.08.23)
Jest..hoho:D
Adriann (21:04, 14.08.23)
Nie znam tego, poszukam. Nie mówisz mam nadzieję o tej podmiance wewnątrz skryptu?
gnysek (10:38, 14.08.23)
Przecież jest: Search & Replace. Do tego nazwy skryptów i zasobów akurat Feather podmienia praktycznie bez problemów.
Adriann (14:39, 12.08.23)
Przydałaby się opcja do globalnej zmiany nazwy zmiennejobiektu we wszystkich skryptach i obiektach :D Tak to jest dość ciężko zabrać się za sprzątanie
SimianVirus7 (10:39, 12.08.23)
To nie burdel, to nieład artystyczny
exp (00:35, 12.08.23)
Feather nie zrozumiał, że burdel jest elementarną częścią mojego projektu
exp (00:34, 12.08.23)
Miałem to samo, nie tyle otworzyłem stary projekt, co w końcu ściągnąłem aktualizację (bo olewałem ten komunikat od chyba półtora roku)
gnysek (23:48, 10.08.23)
Kolizje tilesetowe rządzą!
gnysek (20:01, 26.07.23)
zobaczycie nowy edytor kodu, powinen wskoczyć do bety w sierpniu...
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Kiedy wyjdzie GameMaker (Studio) 3.0?