-
Postów
5 841 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
5
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Tymon
-
Hspeed i vspeed to są wektory przesunięcia, hspeed dla x a vspeed dla y. Zapisując hspeed = 5 Dajemy GM do zrozumienia że ma wykonać x += 5; To wiesz jak myślę. Można je obliczyć tak: hspeed = lengthdir_x( speed, direction ); vspeed = lengthdir_y( speed, direction ); Wiesz jak obliczyć inaczej lengthdir_x albo lengthdir_y, nie? :) Teraz odnośnie pytania: W GM te zmienne są względne i nie wiadomo nawet jak - widzisz przecież że zmieniając hspeed i vspeed zmienia się direction (wylicza się to z twierdzenia cos i sin kątów o ile się nie mylę). Tak samo jest jak zmienisz direction - zmienia się wtedy hspeed i vspeed. Tak samo dzieje się ze speed. Nie wiem czy Ci to wytłumaczyłem ale mniej więcej tak się dzieje :P Może ktoś zrobi to lepiej :3
-
Zgadzam się :P Mi się nigdy nie udało umrzeć. Mat pewnie już 30 lvl bije ;3 Poza tym, intro jest trochę smętne i gdybym Cię nie znał to powiedział bym że mówisz 666, i robisz \m/ xD
-
Ale nie tylko w draw, zobacz sobie obiekt Kula, dziedziczy przy stworzeniu zmienne gravity = cGravity, speed = cSpeed i direction = cDirection. Co do gravity_direction, sam ustawiałem dość długi czas xD Jeszcze tak co do tych wyliczeń w Draw, GM robi to sam tylko że co stepa i robi to na wbudowanych zmiennych (czyli ty przekazujesz mu wartości tych zmiennych a on to sobie oblicza bez twojego pozwolenia xP), ja chciałem od razu cały tor więc dałem to w nieskończonej pętli z przerwaniem jej gdy punkt jest poza roomem.
-
No tak Matthew, ale jest zasadą że AI powinno grać na takich samych zasadach jak i gracz. Po prostu staje się to nieuczciwe :)
-
No bo jest banalne :P Fajne graficzki nadro, wykonujesz może jakieś zamówienia/prezenty/bonusy/prośby? :3 Low poligon oczywiście ;)
-
No nie! Milion?! Skomplikowanych?! Dodawanie?! Cos!? Sin?! No nie wydaje mi się :) Matthew :3 Wszystko ok, ale przeczytaj kilka razy na przyszłość :P
-
random to funkcja (tak jak i instance_create) więc musisz jej przekazać w nawiasach ( i ) jakieś parametry. Jedynym parametrem jaki jest potrzebny tej funkcji jest liczba - czyli do ilu ma losować. Więc: instance_create( random(<liczba>), 0, snieg ); Jeśli chcesz możesz wpisać tam zmienną w której zapisana jest jakaś liczba. Tutaj akurat dobrze było by tworzyć śnieg na całej długości room'a (pokoju gry który wcześniej stworzyłeś) więc room_width (przechowuje informację o szerokości pokoju, jest tworzona zawsze i jest globalną - czyli jest dostępna w każdym miejscu wykonywanego kodu), czyli: instance_create( random( room_width ), 0, snieg ); A takich użytkowników jest naprawdę mało - przynajmniej u nas na forum. EDIT W edytorze kodu jest taki przycisk: . Służy on do sprawdzenia składni kodu - przydatne narzędzie, oszczędza dużo kłopotów :)
-
Nie rozumiem, nie ma dźwięku to się chyba go nie ocenia? Dobrze mówię?
-
To wydaje mi się w takim wypadku że jest dobrze :) Możesz zrobić to co mówiłeś: Ale i tak już odwaliłeś kawał dobrej roboty z tym AI ;)
-
Ja akurat rozpoznaje czar po czasie jego rzucania i typie (kolorze tych gwiazdek koło laski). Albo za późno albo przez jakiś czas w ogóle jej nie ma. Dla mnie akurat jest ona priorytetem i przerywam każdy czar by ją "zarzucić". Wykorzystuje też jej słaby stan, rzucam stwora 2 poziomowego on ją wykańcza a przez ten czas szykuje się czar ofensywny 3 poziomu :) Jednak wynika to raczej z tego co wcześniej napisałem.
-
Pomimo że to maszyna to dość wolno reaguje na nasze ruchy - w ogóle ich nie przewiduje. Słabo się zabezpiecza, z trudem przebija się przez naszą osłonę. I dość często używa kompletnie niepotrzebnych czarów, np. gdy nasza osłona jest już bardzo uszkodzona puszcza czar ofensywny 3 poziomu, a może puścić 1 poziomu - efekt jest ten sam.
-
Akurat to co podał Matthew jest dużo lepsze xD A z tymi nakładkami to już nie wiem o co Ci chodzi.
-
Matthew, no i? Mi się nie chce grać, a jeśli chcesz mi zaimponować to Ci powiem że robi się to w inny sposób :P
-
Mat, chcesz warna? Przecież dokładnie o tym samym pisałem. :mellow: Do tego gravity_direction nie trzeba ustawiać bo jest domyślnie ustawiony na 270. Przecież to robi już kod :mellow:
-
Else oznacza że jeśli warunek nie został spełniony to ma zostać wykonana jakaś inna akcja. Tutaj w tym przypadku można to wytłumaczyć tak: Pokolorowałem odpowiadające sobie elementy :D
-
:) To zrób tak, stwórz nowy obiekt, daj w create: direction = 10; speed = 8; gravity = 0.1; I sprawdź jak się porusza :D BTW. http://www.geocities.com/SiliconValley/Cam...449/physics.htm Fajne rzeczy, poczytaj ;) EDIT Poprawiłem, miała to być parabola xD EDIT 2 Chyba dokładnie o to Ci chodziło: https://gmclan.org/up152_11_torpocisku.html
-
To jest speed, określony direction i gravity.
-
No i ja na początek jest super (sterownie jest ciutek niewygodne), popracuj, poucz się - będą z ciebie ludzie :P O właśnie, Black dobrze gada. Na GMC jest uploader, możesz w nim trzymać pliki :D
-
No po prostu maski, masz je pod Depth w ustawieniach obiektu (edytorze obiektu). Możesz też je zmieniać: mask_index = <mask>
-
Tutaj akurat jest to przypisanie do zmiennej x i y (które odpowiadają za pozycję obiektu) wartości 5 :) Jeśli czegoś nie rozumiesz to śmiało pisz na forum, na pewno ktoś z użytkowników udzieli Ci pomocy.
-
To nie znaczy że mu nie pomoże ;) DirectX 9.0c jest tutaj
-
1. Raczej wina maszyny. Spróbuj też zainstalować nowego DirectX i sterowniki do karty graficznej. 2. Tak, można. Jednak jest to praktycznie nie wykonalne przy dużej ilości kodu - poza tym większość funkcji nie jest dostępna z poziomu klocków. Dlatego radzę uczyć się GMLa :) 3. Zabawa z DLLami wymaga znajomości samego GMLa, dlatego radzę na razie nauczyć się jednego i brać się później za drugie ;)
-
Mało odporny - jakiś kolejny leszcz :*
-
Aktualnie korzystam z własnej obsługi "skórek".
-
Zonk Dawidsu! Oczywiście że mi się chce. Mi to zajmuje mniej niż 5 min a on by się zapytał o to 10 razy na forum przez ten czas. Oczywiście zawsze w przykładzie zostawiam małą niespodziankę :3