Skocz do zawartości

I am Lord

Użytkownicy
  • Postów

    4 892
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    54

Treść opublikowana przez I am Lord

  1. GM8 chyba też miał "use as 3D texture" ale zdaje się że musisz ją w drzewku backgrounds umieścić
  2. To ten online był w 2011 o kurde jaki szmat czasu
  3. A to jakich rozmiarów jest ta textura?
  4. A zrób tą texturę o jeden pixel wyższą i wtedy przenieś o jeden w górę cały obrazek tak by dolne pixele nie dotykały krawędzi obrazka
  5. Wszyscy light i szybki rush
  6. Jak masz ustawione jakieś precyzyjne maski kolizji to może obciążać bardzo mocno. place_meeting bazuje na porównywaniu masek ze sobą.
  7. Ale szczyty fali są już jaśniejsze
  8. Jedynym spritem jaki tutaj jest przy generacji brany to paleta kolorów w postaci paska z kolorowymi pikselami. Kształt jest generowany matematycznie, generowany jest szum i tekstura czarno-biała i szereg funkcji postprocesowych takich jak czyszczenie tekstury z luźnych pikseli, wygładzanie krawędzi, nakładanie outline
  9. Może bezpośrednio przesuwaj 'y' gracza zamiast modyfikować jego prędkość
  10. Może jakaś wada softu, próbowałeś aktualizować system?
  11. Pamiętam te testy w pierwszej wersji online w top down chyba jeszcze robione na GMie? Świetnie się grało
  12. Tutaj dorzucę taką drobną informację bo zapewne @Ice Cube nie będzie wiedział. distance_to_point() które Gnysek podał zwraca odległość od punktu do najbliższej krawędzi bounding boxa obiektu zaś funkcja point_distance() którą także możesz tutaj użyć zwraca już odległość między jednym punktem a drugim.
  13. Wow ta okładka Dune jest świetna
  14. Poszukaj na tablicy albo rynku fb czy ktoś by nie chciał za darmo dać czy jakieś symboliczne 50 dych.
  15. Widzę że na nic się zdał mój poprzedni wywód? Przeczytałeś to w ogóle? Był tam nawet przykład zarówno użycia collision_circle jak również użycia instance_nearest zarówno tym jak i drugim dałoby radę ten cel osiągnąć.
  16. Jeżeli rysujesz sprity ręcznie tak jak w tym przypadku to GM nie ingeruje w nie w żaden sposób a więc za viewem też się będą rysować. Tak po za tym wydaje mi się że chyba tylko backgroundy i tilesy poza viewem GM ukrywa ale to też tylko w tym przypadku gdy nie rysujesz ich ręcznie tylko np zostały postawione w roomie.
  17. "Soczyste pętle" to genialna nazwa dla programu muzycznego mi się bardzo podoba
  18. Ustal sobie jakąś promień twojego obiektu i na jego podstawie wystrzelisz 2 linie kolizji i sprawdzaj czy którakolwiek się z czymś zderzy. punkt ABCD obliczysz tak: ax = x+lengthdir_x(radius, dir-90) ay = y+lengthdir_y(radius, dir-90) bx = x+lengthdir_x(radius, dir+90) by = y+lengthdir_y(radius, dir+90) cx = ax + lengthdir_x(dystans, dir) cy = ay + lengthdir_y(dystans, dir) dx = bx + lengthdir_x(dystans, dir) dy = by + lengthdir_y(dystans, dir) Mogłem się pomylić bo nie przetestowałem
  19. A byście widzieli jakie oburzenie widziałem jakiś rok temu na chyba 9gagu czy czymś takim, jak ktoś wstawił dowód że hearthstone jest stworzony w Unity :DDD
  20. Jeżeli chodzi o opinię graczy to jeszcze nie trafiłem na to by ktoś pisał jakieś hejty pod grą zrobioną z GMa chyba że jest kiepska. Za to spotkałem się z opiniami o unity że ludzie widząc to logo dają od razu refound na steamie albo innych hejterów który piszą recenzję negatywną i nakłaniają do zmienienia silnika na jakiegoś unreala czy coś zamiast unity. Negatywne opinie o GMie to ja widuję jedynie u jakiś urażonych polaczków pseudo gamedevów którzy nie mogą znieść tego że ktoś robi grę na gotowym silniku zamiast marnować całe życie na nauce wynajdowania koła na nowo tworząc własny silnik. Ale po co się tym przejmować? To nawet nie są gracze i nie twój target.
  21. W GM8 masz takie specjalne menu w którym definiujesz sobie własne stałe (constant) i tam powpisuj: enID 0 enPunkty 1 a używać będziesz tego jak zwykłej zmiennej: gLevelsDat[numerLevelu, enID] = room_1; gLevelsDat[numerLevelu, enPunkty] = 50;
  22. Tutaj przykładowo może się przydać stworzenie struktury z globalnej tablicy 2D na takiej zasadzie: enum eLevel {enID, enPunkty} globalvar gLevelsDat; gLevelsDat[numerLevelu, eLevel.enID] = room_1; gLevelsDat[numerLevelu, eLevel.enPunkty] = 50; pierwszy index tablicy gLevelsDat to będzie numer levelu czyli w twoim przypadku będzie to twój "global.level" drugi index tej tablicy to będzie odnośnik do tego jaką informację chcesz uzyskać, ja przygotowałem 2 informacje bo tyle na ten moment potrzebujesz (ale będziesz mógł to łatwo rozbudować sobie dopisując więcej rzeczy w tym enumie w 1 linice). Informacja pierwsza to id rooma, a informacja druga to liczba twoich punktów do uzyskania na nim. Najlepiej by było gdybyś stworzył sobie w twoim pierwszym roomie taką strukturę w jakimś obiekcie w create. Dla przykładu wyglądałoby to tak: enum eLevel {enID, enPunkty} globalvar gLevelsDat; var numerLevelu = 0; gLevelsDat[numerLevelu, eLevel.enID] = room_1; gLevelsDat[numerLevelu, eLevel.enPunkty] = 50; numerLevelu++; gLevelsDat[numerLevelu, eLevel.enID] = room_2; gLevelsDat[numerLevelu, eLevel.enPunkty] = 25; numerLevelu++; gLevelsDat[numerLevelu, eLevel.enID] = room_3; gLevelsDat[numerLevelu, eLevel.enPunkty] = 75; numerLevelu++; gLevelsDat[numerLevelu, eLevel.enID] = room_4; gLevelsDat[numerLevelu, eLevel.enPunkty] = 100; numerLevelu++; gLevelsDat[numerLevelu, eLevel.enID] = room_5; gLevelsDat[numerLevelu, eLevel.enPunkty] = 65; numerLevelu++; gLevelsDat[numerLevelu, eLevel.enID] = room_6; gLevelsDat[numerLevelu, eLevel.enPunkty] = 150; // i tak dalej No i gdy taką strukturkę już sobie stworzysz to potem możesz w swoim przejściowym roomie jej użyć w taki sposób: bazując na twojej zasadzie "If global.level=1 and klikamy enter { goto_room 1 i global.punkty=200} itd. dla 50 leveli" if ( keyboard_check_pressed(vk_enter) ) { global.punkty = gLevelsDat[global.level, eLevel.enPunkty]; room_goto(gLevelsDat[global.level, eLevel.enID]); } Takie rozwiązanie może się początkowo tobie wydawać skomplikowane ale to daje fajną elastyczność bo gdybyś np chciał dodatko kiedyś ustawić by każdy level miał np określoną ilość przeciwników do zabicia aby go przejść no to w prosty sposób moją strukturę rozbudujesz: enum eLevel {enID, enPunkty, enKille} globalvar gLevelsDat; gLevelsDat[numerLevelu, eLevel.enID] = room_1; gLevelsDat[numerLevelu, eLevel.enPunkty] = 50; gLevelsDat[numerLevelu, eLevel.enKille] = 8; i potem w roomie przejściowym: if ( keyboard_check_pressed(vk_enter) ) { global.punkty = gLevelsDat[global.level, eLevel.enPunkty]; global.wymaganeKille = gLevelsDat[global.level, eLevel.enKille]; room_goto(gLevelsDat[global.level, eLevel.enID]); } itd.
  23. Fakt, niepotrzebnie wspomniałem o self bo sam go nie użyłem ani razu w życiu Także nim sobie głowy nie zaprzątaj.
  24. w = 15 będzie dotyczyć obj_pocisku W każdym event collision other oznacza id instancji z którą się zderzyłeś
×
×
  • Dodaj nową pozycję...