-
Postów
533 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez ZyperPL
-
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ś: GML if distance_to_object(postac)>500 instance_deactivate_object(self) 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?
-
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 https://gmclan.org/up5269_12_collisionlineblock.html
-
Jak to wstawiam to nic się nie dzieje :/ Dawać to z Create czy nie? Edit: Daje w Step, to zalagowuje grę. ;p
-
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? GML if 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.
-
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: GML najblizszy_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...