Shapes (Kształty)

Przykład ze skryptami pokazujący jak obliczać kolizje obiektu z bokami dowolnego kształtu, jak przechowywać jego dane, jak optymalniej rysować kształt statyczny. W kolejnej wersji dodam sprawdzanie czy obiekt nie znajduje się wewnątrz kształtu, nie tylko na krawędziach.

Autor: PsichiX

Rozmiar
24 KB
Autor
PsichiX
Ocena
7/10
12 głosy
Komentarze
Komentarze (łącznie 25, wyświetlam 16 - 30):
P
PsichiX (Czw., 21 Sty. 10, 12:09)
#16

masz w sumie racje, jednak malo elementow nie jest czynnikiem spowalniajacym w sposob widoczny. a tak wlasciwie powinienem zrobic na odwrot, lista dla struktury a mapa do przechowywania vertexow, co by mozna bylo gladko jak po liscie isc, skoro przechodze wszystkie elementy. Choc przy ustawianiu czy pobieraniu wartosci by kulalo.

S
Snake (Czw., 21 Sty. 10, 18:34)
#17

IMO użycie ds_list dla vertexów to akurat dobra decyzja. Inna sprawa, że użycie GM-owych map do iteracji w stylu listy linkowanej mija się z celem - funkcje ds_map_find_next/previous zwracają klucz względem _podanego_ klucza, który najpierw trzeba odnaleźć.
BTW: Właściwie implementacja list linkowanych w GM mogłaby być przydatna. Może z pomocą GMAPI udało by się wprowadzić je tak, aby faktycznie zyskało się na wydajności korzystając z nich?

E
Egzekutor (Czw., 21 Sty. 10, 19:31)
#18

Fajny przykładzik :) Szkoda tylko, że nie posiadam wiedzy na temat list i map :( 10/10

gnysek (Nie., 24 Sty. 10, 14:57)
#19

@Egzekutor, tam nie ma co wiedzieć, przeczytaj dokumentację i wszystko jasne, to tak jak takie ulepszone tablice.

@Snake: zaczynasz mówić jakimś niezrozumiałym językiem...

E
Egzekutor (Nie., 24 Sty. 10, 15:55)
#20

@gnysek: Coś al'a kontener w C++ ?

gnysek (Nie., 24 Sty. 10, 16:01)
#21

Lista, to lista.

E
Egzekutor (Nie., 24 Sty. 10, 16:50)
#22

Ale w takim sensie czy jest dynamiczna? Czy nie? Że gdy jest konieczność to się powiększa.

gnysek (Nie., 24 Sty. 10, 21:59)
#23

Sprawdź pomoc do programu i głupio nie pytaj. W GM tylko constansów nie da się zmieniać (i to zapewne GMApi jest w stanie zmienić).

b
bluks (śro., 03 Lut. 10, 13:46)
#24

No z bokami kolizja jest ale jak jestem w środku tego wielokąta i nie dotykam ścianek to już kolizji nie wykrywa.

P
PsichiX (śro., 03 Lut. 10, 14:18)
#25

Ok, to kolejną wersję zrobi się z wykrywaniem wewnątrz figury

Najnowsze wersje GameMakera:

Stabilna
2024.13.1.193 • 2024.13.1.242
wydana 85 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 220 dni temu
Beta
2024.1400.0.841 •
2024.1400.0.836
 0.17.0

wydana 8 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
21 użytkowników online na discordzie:
RogerDodg3r, Carl-bot, 🧁Cupcake🧁, Cosplyfanka, LadyLush, Morro, Threef, Chell, HappyOrange, Moldis, Dyno, szmalu, Korodzik, Danieo, antek, Tidżi, Kandif, l..., Sporek, Krzysiek1250, xVANiLL
Shoutbox
gnysek (10:36, 04.07.25)
Bo wszyscy piszą na discordzie :)
M
Modnar23 (20:08, 29.06.25)
Ja po 13 latach postanowiłem się zalogować i widzę, że straszne pustki na forum. Kiedyś to aż huczało na forum. :)
Chell (08:18, 26.06.25)
to masz krótką pamięć, bo od 2014 jakoś nie wiadomo ilu nowych userów nie przybyło :-D
p
pablo1517 (18:34, 16.06.25)
Ja w sumie żadnego z tych nicków nie kojarze poza Gnyskiem xD
gnysek (10:00, 16.06.25)
Odwiedzić starych dobrych znajomych.
S
Sutikku (01:48, 14.06.25)
nie wiem który to już rok, że ciągle mechanicznie wchodzę na gmclan, w sumie sam nie wiem po co
S
Sutikku (01:47, 14.06.25)
SIEMA! U mnie znośnie
p
pablo1517 (21:48, 07.06.25)
Siema wszystkim! Co tam slychac?
gnysek (13:44, 10.04.25)
Za 3-4 miesiące GM przejdzie na wydania "półroczne", więc korzystanie z wersji beta żeby sprawdzić nowości będzie wskazane :P
Adriann (18:09, 08.04.25)
Odpowiadam, dzisiaj :D
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?