-
Postów
623 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
4
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Ignatus
-
Dzieki Threef.Działa
-
Ale co dokładnie mam z tym zrobić? Ustawic cos w stylu image_angle=image_angle mod 360?
-
Jak zablokować możliwość obracania image_angle w danym zakresie? Teoretycznie mam na myśli pełen obrót 0-360 ale z jakiegoś powodu liczy mi obroty bez powrotu do 0.W lewo od 0 idzie w minus a w prawo liczy powyżej 360- przez co wiele elementów mi wariuje..
-
Jak tego użyć Threef - do jakiego obiektu ten kod ?Jak to działa?
-
Wymyśliłem sposób na obejście skoków- image_angle gracza (wg kóre ustawia się view_angle) podąża nie za pozycją kursora a za obiektem "mouse"-które to z kolei porusza się w kierunku kursora GML xx=mouse_x yy=mouse_y mp_linear_step(xx,yy ,16,0) Daje to całkiem satysfakcjonującą płynność obrotu- ALE w momencie kiedy gracz znajdzie się za blisko obiektu "mouse" to zaczyna się wirowanie obrazu i chaos.Więc tutaj pytanie - jak zrobić żeby obiekt "mouse" nigdy nie zbliżył się do gracza bliżej niż określona odległość-ale równocześnie poruszał się w kierunku kursora.Zapewne najlepsza byłaby forma orbitowania,ale lenghtdiry to dla mnie koszmar.Potrafię zrobić obiekt który jest w stałym miejscu w kole ale żeby z tej pozycji poruszać się do punktu to już gorzej
-
Top down.Zależy mi na tym żeby kamera obracała się płynnie razem z obrotem postaci, tak jak np. Póki co mam coś takiego: Step: GML //plynny obrot postaci za myszka - dziala tak jak powinno var pd = point_direction(x, y, mouse_x, mouse_y); var dd = angle_difference(image_angle, pd) var ob =6 image_angle -= min(abs(dd),ob) * sign(dd); direction=image_angle //obrot view// var an = image_angle - 90; if (mouse.x!=mouse.xprevious){ view_angle[0] = -an; } Zeby uniknąć nieustannych obrotów nawet kiedy myszka sie nie rusza stworzylem obiekt mouse podazajacy za ruchem myszy. Ogolny efekt jest beznadziejny, ekran lata non stop na boki, pelen chaos-jak uda sie zatrzymac myszke w punkcie to spokoj, najlzejszy ruch od razu lata ekran jak opętany- w niczym to nie przypomina efektu z Take No Prisioners ;p Za płynność obrotu odpowiada "ob" ale mniejszy zamula ruchy totalnie,a wyzszy to juz w ogole epilepsja? Jakies propozycje?Moze ktos zna jakis system kamer z GM marketu (nawet platny) ktory by oferowal taka funkcje?Probowalem z marketu Views2.0 ale nie sprawdza sie
-
CA 2016 - Dyskusja/Nominacje
Ignatus odpowiedział(a) na Wojzax temat w Nagrody doroczne - Community Awards 2019
Gra roku: Nominuję sam siebie bo chce żeby w ogóle była na liście,w końcu rok mojej ciężkiej pracy;p KNAP! https://forum.gmclan.org/index.php?showtopic=32928 Demo roku Knights and Monsters https://forum.gmclan.org/index.php?showtopic=33136 Zapowiedź roku From Ashes to Ashes https://forum.gmclan.org/index.php?showtopic=32478 Angels Downfall https://forum.gmclan.org/index.php?showtopic=31416 Użytkownik roku Threef -
Strzała wbijająca się w przeciwnika
Ignatus odpowiedział(a) na Ignatus temat w Pytania początkujących
Przy GML x=en.x+lengthdir_x(0,en.image_angle)+px y=en.y+lengthdir_y(0,en.image_angle)+py Wbija się tam gdzie fizycznie powinno ale wraca pierwszy błąd -czylu strzała pływa sobie nienaturalnie zamiast obracac sie z celem Przy GML x=en.x+lengthdir_x(0,en.image_angle)-px y=en.y+lengthdir_y(0,en.image_angle)-py Strzala jest daleko od celu i sobie plywa Przy innych probach strzala znika po trafieniu w cel -
Strzała wbijająca się w przeciwnika
Ignatus odpowiedział(a) na Ignatus temat w Pytania początkujących
Tak właśnie próbuję ale jak na razie bez efektu GML if collision_point(x,y,obj_Enemy_parent,1,0)&&(hit=false)&&(wall_hit=false){ px=x py=y en=instance_nearest(x,y,obj_Enemy_parent) angle=image_angle-en.image_angle hit=true} if hit=true { if (instance_exists(en)){ x=en.x-px+lengthdir_x(0,en.image_angle) y=en.y-py+lengthdir_y(0,en.image_angle) image_angle=en.image_angle+angle } Przy takim rozwiązaniu strzala znika nie wiadomo gdzie.Jakim tropem isc? -
+grafika -bardzo mi się podoba +sterowanie- nie miałem żadnych problemów,płynnie i dobra reaktywność +klimat retro - gdybym zobaczyl to jako gameplay gry z czasow c-64 czy NES to bym nie miał wątpliwości że wtedy własnie powstala +spójność elementów-wszystko do siebie pasuje -poziom trudnosci-slaby jestem w platformówkach ale jak na 1 etap to trochę za często ginąłem -brak checkpoint (chyba że nie dotarlem)- zaczynanie za kazdym razem od poczatku po 10 probie zniecheca do gry -dzwięki- muzyka jest ok,neutralna - ale fx w ogóle mi się nie podobają -wręcz drażnią
-
Strzała wbijająca się w przeciwnika
Ignatus odpowiedział(a) na Ignatus temat w Pytania początkujących
Świetne,wielke dzięki Threef.Teraz kąty obliczają tak jak powinny ale mam problem z miejscem wbicia strzały- zawsze strzała jest idealnie w środku wroga, jak zrobić żeby wbita była tam gdzie trafiła? ps.dlaczego nie używać Endstep i dlaczego przy zwyklym step taki uklad nie dziala? -
Prosta sprawa.Top Down- strzelam z łuku we wrogów i chcę żeby trafiona strzała została w miejscu w które trafiła nawet kiedy wróg się obraca i porusza. Zgodnie ze znalezionymi tropami w necie zrobilem: End Step strzaly GML if hit=true { if (instance_exists(enemy)){ x=en.x+lengthdir_x(0,enemy.image_angle) y=en.y+lengthdir_y(0,enemy.image_angle) Efekt= strzala trzyma sie postaci wroga ale wcale się nie obraca (ma caly czas image_angle ktory miala w momencie kolizji) dorzucilem w takim razie GML image_angle=enemy.image_angle Efekt= sukces! Ale tyczy się to tylko jednej strzaly-kazda kolejna pokrywa sie z pierwszą i nawet jej nie widac. Co ciekawe po przeniesienie dokladnie tego kodu z End Step na Step sprawia ze strzaly wbijaja sie i trzymaja indywidualnie-tak jak powinny.Ale obracają z beznadziejnym opóźnieniem (w sumie nie wiem dokladnie o co chodzi ,wyglada jakby sie krecily wewnatrz postaci swoim tempem-w end step kreca jak powinny) Rzecz wydaje się banalna ale nie mam pojęcia co z tym zrobić..
-
Ktoś może wie dlaczego ten kod kolizji w nieprawdopodobny sposób obniża mi FPS GML //Set up vars var a,xoff,yoff,om,mm,mag; a = point_direction(x, y, other.x, other.y); //Get the direction from the colliding object xoff = lengthdir_x(1, a); //Get the offset vector yoff = lengthdir_y(1, a); om = other.mass / mass; //start the fake "physics mass" calculations mm = mass / other.mass; mag = sqrt((om * om) + (mm * mm)); om /= mag; mm /= mag; //Move out of collision while (place_meeting(x, y, other.id)) { x -= xoff * om; //Move the instance out of collision y -= yoff * om; other.x += xoff * mm; //Move the other instance out of the collision other.y += yoff * mm; } Wszystko działa idealnie,system w top down doskonale się sprawdza ale wystarczy że pojawi się 10 postaci które ze sobą kolidują i fps spada do 1/3 na PC, jakieś nieporozumienie.Hitman: Absolution ostatnio ograłem na tym bez minimalnego spowolnieniaa tutaj projekt składający się z kilku obiektów i kilka linijek kodu muli kompa jakby zaraz miał eksplodowac... //edit Rozwiązanie jak zwykle w przypadku GM miażdży mi system.Wszysko działa normalnie po zmianie masek kolizji na kwadraty-wcześniej były elipsy.....Ja nie ogarniam dlaczego to pomogło ale teraz nawet 1fps nie spada..
-
-przyciąganie do siebie poprzez zasysanie powietrza trąbą -unieruchamianie poprzez chwyt korzeniami (w wersji ataku na średni dystans lub wbijaniu korzeni w ziemię i atakowaniu gracza od dołu) -strzelanie pojedynczymi pazurami (jak z kuszy;p) -długo ładujący się ciężki cios pazurami z bliska -uzdrawianie współtowarzyszy poprzez spadające na nich liście -głośny ryk który uzdrawia współtowarzyszy -wyrzucenie nasion z trąby- każdego rozwija się pułapka/jakiś słaby oponent(np coś w stylu stojącej w miejscu rosiczki) -otoczenie się pancerzem z korzeni i regeneracja zdrowia
-
Hmm wszystko wskazuje że są tak nowi że to ich pierwsza wydawana gra..Może będzie dobrze,nie ma co się czepiać- ale fakt że ich trailer jest draaaaamatycznie słaby Piękne mają motto : "AAG Studio - indie game publisher. We love games, we make games, we publish games. Our developers are our friends."
-
D jak dla mnie najciekawsze ale inaczej te kły muszą wyglądać bo teraz przyczepione jakoś nienaturalnie,widać że nie pasują.Ale E jest intrygujące, na tyle że zasługuje na swojego własnego stwora;p
-
Odlicz 2 sekundy i wykonaj operacje
Ignatus odpowiedział(a) na pawel1998no temat w Pytania początkujących
Ja bym to zrobił tak: 1.Zrób obiekt który będzie tworzył klony (np.obj_klon_maker) 2.W tym obiekcie w create GML alarm[0]=room_speed*2 3.W alarm[0] GML instance_create(x-10,y,obj_klon) instance_create(x+10,y,obj_klon) instance_destroy() 4.W obiekcie przeciwnika w kodzie który go zabija GML instance_create(x,y,obj_klon_maker) instance_destroy() -
To akurat rozumiem ale każdy obiekt musi coś rysować?Zawsze można wstawić jeden obiekt który będzie odpowiadać za event draw dla różnych obiektów (roboty z tym pewnie z miesiąc ale 1500 drawów nie będzie;p)
-
Pytanie z punktu widzenia amatora totalnego(zapewne głupie)- po co w ogóle używać draw do wyświetlania grafik instancji?Nie lepiej przypisać jej sprite i potem podmieniać
-
To jedna a z kilkunastu prób-tu akurat wyżej trochę (biorę pod uwagę że reklama się nie mieści i dlatego nie wyświetla). Stworzyłem obiekt o wymiarach banera reklamowego i nadaje mu te współrzędne, jest mniej więcej w tym miejscu w którym chce żeby był- ale reklamy ani śladu.Oczywiście nie wiem dlaczego akurat heigh*2 , to efekt bezsilnych prób, i w sumie na obiekcie się sprawdza
-
Jak wstawić reklamę zawsze w tym samym miejscu bez względu na rozdzielczość ekranu urządzenia (Android).Ekran tylko w pionie, w poprzednim projekcie miałem tylko poziomo i bez problemu to zrobiłem a tutaj coś nie chce działać.Ostatni kod jakiego próbowałem GML phonew=display_get_gui_width() phoneh=display_get_gui_height() xx=phonew/4 yy=phoneh*2 Reklamę wyświetlam oczywiście na tych współrzędnych.Uprzedzam pytanie-reklama działa,na środku ekranu mogę bez problemu wyświetlić-ale potrzebuję na środku,przy dolnej krawędzi..
-
zastosowanie delta time przy loopowaniu muzyki
Ignatus odpowiedział(a) na Cruel_boy temat w Pytania początkujących
A w jakich okolicznościach to jest używane? Postać się zbliża do źródła muzyki czy coś w tym stylu? Nie dałoby rady wstawić tą 1 przy loop i robić stop-start music? Przykład z manuala GML if !global.SFX { audio_stop_sound(snd_Waterfall); } else { audio_play_sound_at(snd_Waterfall, x, y, 0, 100, 300, 1, true, 1); } -
nie wystarczy odwrócić prędkości? GML speed=-speed
-
może po dojściu do określonego collision line zmieniałby się kierunek ruchu?