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.8.1.171 • 2024.8.1.218
wydana 75 dni temu
LTS
2022.0.3.83 • 2022.0.3.98
wydana  3 dni temu
Beta
2024.1100.0.686 •
2024.1100.0.707
 0.13.0

wydana 9 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
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.
gnysek (12:35, 13.11.24)
Ogólnie GMCLAN istnieje 22 lata, ale na to trofeum nie zrobiłem (jeszcze xD)
Chell (20:41, 08.11.24)
wow, ta emotka w ogóle nie wygląda jak : O xD
Chell (20:40, 08.11.24)
tylko? :O 4tk ma 15
Borek (18:12, 07.11.24)
Właśnie dostałem powiadomienie z forum, że jestem na GMClanie 18 lat :D Ja pierdzielę...
S
Sutikku (08:43, 18.10.24)
TIL, gamemaker jest starszy ode mnie
gnysek (16:04, 15.10.24)
Za równo miesiąc, GameMaker kończy 25 lat.
Wojo (15:38, 05.09.24)
Ciekawe
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?