Skocz do zawartości

Threef

Moderatorzy
  • Postów

    2 911
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    14

Treść opublikowana przez Threef

  1. Używanie distance_to_object(parent)) do takich rzeczy jest głupie. I nie robie się tego w ten sposób. Możesz w podobny sposób do tego co zrobiłem w pierwszym poście przeiterować przez wszystkie instance danego obiektu (dzieci też) i wykonywać swoje operacje. Np sprawdzać czy in.id!=id
  2. No bo robisz w bardzo zły sposób wykrywanie kolizji. Sprawdzanie dystansu nie ma w ogóle sensu bo musiałbyś sprawdzać z najbliższym obiektem. Kule są idealnie okrągłe? Jeżeli tak to: W GM:S popróbuj z fizyką GM8 zrób zwykłe kolizje. Ustaw maskę na okrąg, odznacz 'precise collision checking' i sprawdzaj przez event collision albo place_free()
  3. Jeżeli kulki nie różnią się niczym poza grafiką to nie rób osobnych obiektów, a kolor (grafikę) określ jako własciwość obiektu (sprite_index). Zedytowałem kod w poprzednim poście żeby robił to co chcesz. No ale w pierwszym pytaniu Ci nie pomożemy. Nie dałeś żadnych informacji. ten kawałek kodu może dotyczyć wszystkiego.
  4. Na drugie pytanie mogę odpowiedzieć: GML c=0 for(var i=0;i<instance_number(obj);i+=1) in=instance_find(obj,i) if(in.x==80) { c+=1 } if(c=8){instance_create(80, 0, obj_kula_czerwona)} Na pierwsze stwierdzam że w bardzo zły sposób robisz kolizje.
  5. Tak. Akcja musi się po prostu skończyć, aby przejść do następnej. Dlatego np używanie draw_getpixel() jest bardzo powolne bo GM czeka aż się to wykona.
  6. To co musisz zrozumieć to pętla główna GM (Event Order). Jeden step w grze to jedno wykonanie pętli. Eventy potem wykonują się wg swojej ustalonej kolejności, i każdy dla każdego instance w room .Tu coś znalazłem. Jeżeli używasz pętli to ona musi się w pełni wykonać. Dopiero po jej skończeniu ten sam event wykona się w reszcie instance, a potem przejdzie do następnego eventu. Więc jeżeli robiłeś pętlę w 'Keyboard and mouse' to nie wykonał się jeszcze 'Keyboard and mouse release' więc gra nie wie o tym. W step prawie mógłbyś sprawdzić czy został puszczony klawisz, ale to wciąż byłby ten sam step. To samo wykonanie pętli głównej w którym nacisnąłeś ten klawisz. No i taka pętla po prostu zamroziłaby grę.
  7. W while nie wykryje puszczania myszki bo ono wykona się dopiero po skończeniu pętli (w następnym step). Wyraźnie widać że nie wiesz jak działają pętle i główna pętla gry.
  8. Twój wykonuje sie tylko w left press gdzie nie możesz sprawdzić czy jest mouse_check_button_released(mb_left). Poza tym używasz pętli while która wykonuje się w obrębie jednego step. Zaden inny kod nie będzie się wykonywał (sprawdzenie puszczania myszy też) dopóki się ona nie skończy. Gdybyś tam dał if zamiast while i wsadził to w step, to może by działało, ale zmieniało by stronę co step i od razu, co nie jest dorym rozwiązaniem. Chyba nawet pojedyncze kliknięcie zmieniało by zawsze o 2 i więcej stron. ;)
  9. Pisane z głowy: GML (step) if(mouse_check_button_pressed(mb_left)) { page_number+=1; alarm[0]=30//czas po jakim ma zacząć przesuwać } GML (alarm0) if(mouse_check_button(mb_left)) { alarm[0]=3//Jak szybko ma przeskakiwać page_number+=1; }
  10. Threef

    Pixel Heaven 2014

    W zeszłym roku bawiliśmy się świetnie, więc teraz trzeba podnieść poprzeczkę i bawić się jeszcze lepiej! Masa ludzi GMClanów potwierdziła swoją obecność i sporo poparło mój pomysł żeby spotkać się przed/po imprezie. Więc ustalmy już co i jak. Kiedy komu pasuje. Przypominając sobie poprzednie spotkania, wygląda na to że znów wylądujemy gdzieś w pizzerii. :P Dodatkowo, sporo osób (jak ja) będzie przyjezdnych więc chciałbym zrobić listę i może poszukać czegoś razem. Można wynająć na przykład mieszkanie dla 6 osób. Chętnych proszę o kontakt. No i kilka informacji gdy się komuś nie chciało Google'ować: Wstęp: 50 PLN (40 przez internet) Miejsce: Warszawa - Klub '1500m2' 15.05 zostaną ogłoszeni finaliści Indie Basement pixelheaven.pl
  11. Threef

    Przyszłość GM

    Na odwrót: "To na co w GM poświęcisz kilka dni, w Unity zrobisz w kilka minut." Nie wszystko co zrobisz w unity można zrobić w GM, a na odwrót da radę. ;)
  12. Threef

    Przyszłość GM

    W GM nie da się zrobić nic optymalnego w 3D.
  13. Jeżeli zrobisz screenshot całego ekranu, zapiszesz go do surface i z surface będziesz odczytywać. Bardzo proste, ale niesamowicie zasobożerne i wolne. Mam nadzieję że twoim następnym pytaniem nie będzie 'Jak zrobić żeby myszka się klikała?' ;)
  14. On nie chce sprawdzać koloru z poza room a z poza okna. -_-
  15. Threef

    Top Hat

    Gdybyś skończył przed majówką to może miałbym czas przejść całe. :P
  16. Olać te 'paćki', a spróbować cieni.
  17. Threef

    Rabbit 3D

    John R. jest tylko jeden. I to nie ta tematyka gry. ;)
  18. Threef

    Jakie okularsy

    W takim razie miałeś trudne dzieciństwo. :(
  19. Skopałeś chyba w create bo na surface rysujemy od 0,0. A poza tym wszystko powinno być ok. ;) Chociaż wciąż uważam że przechowywanie takiego (pustego) surface w pamięci to słaby pomysł.
  20. mod jest użyty tyle razy ile wykona się pierwsza pętla +1. Nie pamiętam w której pamięci przechowywane są surface (video tak?) więc wszystko zależy od rozmiarów view i dostępnej pamięci.
  21. Czyli tak jak ja zrobiłem używając mod w pętli. A pomysł z surface może w tym wypadku okazać się wolniejszy, bo cały surface będzie w pamięci.
  22. Rysować tylko to co widać na view. I czemu rysujesz prostokąty zamiast linii? Jedna z pętli będzie wyglądać tak: GML for(i=view_xview[0]-(view_xview[0] mod 32);i<=view_xview[0]+view_wview[0];i+=32)
  23. GML h=string(current_hour) if(string_lenght(h)=1){h="0"+h}
  24. Jeżeli kino nie udostępnia jakiegoś API to jest jakiś klepacz.
×
×
  • Dodaj nową pozycję...