-
Postów
533 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez ZyperPL
-
-
No, wystarczyło powiedzieć, że trzeba "id" wpisać. To ja się tak głowie, a to wina dwóch literek? :D
Dzięki, Zajeb!sty programisto! Podwójnie bo za kolizję też.
-
Hmm... Nic nie działa.
Pomoże mi ktoś jeszcze? Nawet jak nie czytałeś tego tematu.. pomóż mi. Pobierz to i spróbuj coś zrobić.
https://gmclan.org/up5269_12_collisionlineblock.html
Nie możliwe, że nie można tego zrobić :D Przecież musi być jakieś rozwiązanie. Specjalnie okrajałem moją grę, żebyście mogli pobrać i sprawdzić. Więc proszę spróbujcie coś wykombinować, bo ja się męczę cały dzień i nic :P
-
GMLwith(all){
if collision_line(randompunkt2.x,randompunkt2.y,randompunkt1.x,randompunkt1.y,self,
1,0)
{instance_destroy();}
}
Jak to wstawiam to nic się nie dzieje :/ Dawać to z Create czy nie?
Edit:
Daje w Step, to zalagowuje grę. ;p
-
A gdzie to wpisałeś?
W Create. Ale chyba kolejność zdarzeń jest dobra i to się dzieje jak już są te punkty. Czekajcie sprawdzę...
Nom... to się dzieje, kiedy już wszystko jest na mapie. Czyli we właściwej kolejności :P Dałem w Create zamiast tego distance_to_object cośtam to instance_destroy() i takie coś działa. Tylko nie wiem dlaczego z tym collision_line nie :P
-
Dobra, dzięki, właśnie tak zrobiłem, że zmniejszam prędkość, ale męczę się jeszcze z collision_line. Co niby jest nie tak w tym kodzie, że nie działa?
GMLif collision_line(randompunkt2.x,randompunkt2.y,randompunkt1.x,randompunkt1.y,self,1,0){instance_destroy();}
EDIT:
Chciałem zrobić, żeby między randompunktem1 a randompunktem2 kasowały się blocki. :P Jednak nie wiem czy dobrze tej funkcji użyłem.
-
Wielkie dzięki ;)
Szkoda tylko, że nie ma jakiegoś rozwiązania dla mojego głównego, ważniejszego problemu. Musiałbym jakoś sprawdzać direction... Hmm...
Moja gra jest gość prosta, bo ściany z którymi koliduje gracz są kwadratowe a nie różnego kształtu. Więc jeśli postać nie idzie wprost na ścianę to powinna iść jakoś wolniej. Pomoże ktoś?
-
Mógłbyś bardziej wytłumaczyć to z tym collision_line?
-
Yo!
Czy istnieje w GMie jakaś sprawna komenda, dzięki której mógłbym przy kolizji obiektu ze ścianą przesuwać ten obiekt po krawędzi.
Tzn. gdy używam znanych mi komend postać, albo odskakuje (move_bounce), albo haczy się jak o papier ścierny (np. x=xprevious).
Dlatego pytam jak zrobić jakieś płynne spowalnianie gdy idzie się na ścianę w grze TOPDOWN. Jest jakaś sprytna funkcja?
Z góry dzięki za pomoc.
Jeszcze jedno, jak można sprawdzić czy obiekt koliduje z pathem?
-
No tak, ale jak chce mieć za postacią bez -dl to odejmuje. Dzięki wam, już działa :)
Coś kombinowałem z tymi lengthdirami, ale jednak nie tak jak trzeba. Dzięki jeszcze raz za szybką pomoc..
-
Robiłem coś takiego i wtedy nowy obiekt pojawia mi się gdzieś na pierwszych współrzędnych (czyt. w lewym górnym rogu ekranu, czyli, że ax i ay wynosi coś blisko 0). Więc zupełnie nie wiem o co chodzi... Mam odjąć x gracza od tego ax?
-
No cóż, nie myślałem, że będę miał z tym problem. Ale nie mogę sobie już kilka dni z tym poradzić..
Więc.. chciałbym zrobić, żeby obiekt pojawiał się za graczem. Jednak nie jest to takie proste, bo postać obraca się w różne kierunki (direction). Więc np. x-15 jest na lewo od obiektu, ale nie za obiektem gdy ten się obróci. Bardzo proszę po pomoc.
-
Ehh.. Chyba tego nie ogarniam, co napisał HuderLord. Trzeba robić jeden path, czy do każdego połączenia nowy? I.. i... jak wykrywać czy block koliduje z pathem? Ehh.. przerasta mnie to.
Chyba użyję sposobu alwina. IMHO łatwiejszy :<
Dawno nie siedziałem z GM, więc teraz trudno mi się myśli :|
Sory, i dzięki ;)
-
No, tylko co dokładniej mam Ci powiedzieć ;) Pisałem top-down i korytarze, więc przepraszam, że mogło być to do końca nie jasne.
http://img843.imageshack.us/img843/9269/ma...owageneracj.png
Chodzi o coś mniej więcej rogulelike. Ale nie tak zaawansowane. Same korytarze wystarczą.
Pomysł LunderLorda* i alwina świetny. Wielkie dzięki również Platynie za pomoc. Ciekaw jestem, czy coś zrobię i czy nie pozapominałem komend (z tym motion planing to masakra).
Jak zrobić, żeby pathe powstawały po kątach prostych (90*), bo to nie było tak, że zawsze leciało bardziej płynnie?
Może ktoś trochę zarzuci komendami? :S
@Dół:
Nie przekręciłem. Po prostu zły klawisz wcisnąłem. Sorka.
-
hmm może w ten sposób:
*cały room podzielony jest na grid powiedzmy 64x64
*wszystkie komórki wypełnione są obiektami solid(ściana 64x64)
*następnie po roomie zasuwa gumka- obiekt 64x64 który wycina korytarze, jej ruch trzeba dobrze zaprogramować aby wycinanka miała ręce i nogi.
*w większych komnatach tworzone są specjalne strefy, tzw komnaty
Czyli? że np w komnacie(pomieszczeniu o jakimś tam rozmiarze ) która powstała po wycinance tworzysz cmentarz,->jakieś tam grobki-> sprawdzasz gdzie stworzył się cmentarz-> niedaleko stawiasz wrogów którzy żyją na cmentarzu-> jakieś przedmioty specjalne niedaleko wrogów cmentarnych
Analogicznie po wycinance możesz sprawdzić czy jest jakis większy obszar wolny-> stawiac tam obj drzewka etc; leśne żyjątka->leśnych wrogów->leśne skarby
W ten sposób mapka może być ciekawa i sensowna, jakby człowiek sam ją ręcznie składał:)
Bardzo dobrze mi to wytłumaczyłeś :)
Tylko jest jakiś prosty sposób na sprawdzanie wielkości pomieszczenia? distance_to_object chyba za bardzo nie pasuje.
-
Heroes?
Jacy Heroes? Might and Magic? O ile pamiętam, nie było tam losowej mapy. Ale chodzi mi o to, żeby bloki ustawiały się w ściany. A nie jako pojedyńcze bloki. Jak to napisać? Można zrobić tak, że tworzy jeden blok i dokleja inne do niego. Ale jakie są na to polecenia, bo opuściłem się w GM :<?
@Platyna, no tak. Tylko raczej nie da się umysłu ludzkiego przepisać do gry. To trzeba jakoś znaleźć inny sposób, tak żeby wydawało się, że to losowe. Trochę nad tym myślałem i zrobiłem ten temat, żeby czegoś więcej się dowiedzieć, bo bez waszej pomocy na pewno tego nie zrobię :P
-
Witam!
Ostatnio postanowiłem powrócić do Game Makera i dokończyć mój projekcik. Tylko oczywiście mam problem...
Nie wiem, czy to zaawansowany czy nie. Jednak napiszę już tutaj, ponieważ z GMem siedzę trochę dłużej.
Tak więc, jak napisałem w nazwie tematu chciałbym zrobić losowe generowanie mapy. Ale nie takie chaotyczne (bo takie, gdzie obiekty są byle gdzie to umiem zrobić) tylko takie, gdzie objekty będą poukładane w jakiejś logicznej kolejności.
Grafika top-down.
Chcę, żeby obiekty tworzyły losowe ściany i korytarze, ale tak, żeby można było tam przejść.
Proszę, żeby mi ktoś napisał jak to mniej więcej zrobić. Kody GML mile widziane (choć wystarczy mi to dokładnie opisać) :P
-
@Dawidss, najblizszywrog = instance_nearest(x,y,potwor);
Chcę zrobić, że gdy moja postać stoi to może zaatakować tylko potwora, który znajduje się na przeciw niej. I tak się dzieje, ale jeśli za graczem stoi DRUGI potwór wszystko się komplikuje... :/
Mój kod:
GMLnajblizszy_potwor=instance_nearest(x,y,potwor)if distance_to_object(najblizszy_potwor)<=5 && keyboard_check_pressed(ord('F')) && czas_do_ataku=0 && (abs(angdiff(direction, point_direction(x, y, najblizszy_potwor.x, najblizszy_potwor.y))) <= 90)
{
najblizszy_potwor.hp-=sila
sound_play(FistPunch)
alarm[0]=czas_atak*room_speed
}
global.test=(abs(angdiff(direction, point_direction(x, y, najblizszy_potwor.x, najblizszy_potwor.y))) <= 90)
-
Oki :P
Już wiem w czym problem, gdy dwa objecty najblizszypotwor są wokół mnie, jeden wprost przede mną (tak jak powinno być), a jeden za mną to mi nie działa ten skrypt jak powinien, bo cały czas jest na zero :/ I nie mam pojęcia jak to naprawić.. :/
-
Myślałem, że gra będzie lepsza :/
A tutaj prawie z dnia na dzień to samo... przydało by się więcej zdarzeń (jak np. z tym olbrzymem czy czymś tam). Ale tak to nawet źle nie jest, no ale mówię, spodziewałem się czegoś lepszego :P
-
Zmieniłem na 90 i mam jeszcze w warunku distance_to_object(najblizszywrog), a gdy chcę czasem zaatakować wroga, nic się nie dzieje, tak jakby postać nie patrzała prosto na wroga :/ Bez tego patrzenia wszystko jest ok, z samym distance_to...
Nie wiem w czym problem, ale może jeszcze po kombinuje i samo się naprawi :D
-
A gdzie się zmienia możliwą różnicę w kątach?
Tak, żebym mógł atakować gdy będę patrzył na wroga, może gdy będę lekko od niego odwrócony, max 80 stopni? Bo teraz to nie zawsze postać mi atakuje jak ustawiam się wprost :/
-
Siemka!
Mam malutkie pytanko, jak zrobić, że jakaś akcja dzieje się tylko gdy obj_postac, patrzy wprost na obj_najblizszywrog?
Chyba trzeba użyć direction, ale jak?
Proszę o pomoc.
-
Dobra, gra nie ma w połowie tego co ma MineCraft.
Tutaj możesz budować kilka budowli, zbierać surowce i nic poza tym.
W MineCraftie możesz budować, zmieniać cały świat, budować rollercoastery itd. itp. kopalnie, zbierać materiały, cratować.
Kiedyś jak nie znałem MineCrafta, grałem dużo w Strandeda, ale gra jest już stara i nie aktualizowana.
Multiplayer jest, ale nie działający, nawet przez LAN...
Tyle..
-
Straszne...
Optymalizacja gry
w Pytania początkujących
Opublikowano
Cześć ;)
Jak każdy wie, optymalizacja gry jest ważna. Znacie jakieś dobre sposoby optymalizacji gier w GMie? Ja miałem pomysł, aby deaktywować obiekty daleko od gracza. Napisałem takie coś:
else instance_activate_object(self)
Ale obiekty po deaktywacji nie wracają do początkowego stanu i ich po prostu nie widać. Wie ktoś w czym problem?
Z góry dzięki :P
Mam jeszcze małe pytanie, jak umieścić obiekt A między dwoma innymi obiektami?
Próbowałem dzielić distance_to_object na pół lub pozycje x i y. Ale to nie działa. Jakieś pomysły?