Skocz do zawartości

Sutikku

Użytkownicy
  • Postów

    738
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Treść opublikowana przez Sutikku

  1. Ja bym wykorzystał place_meeting() Jakoś tak mniej-więcej. GML if(place_meeting(x, y-1, obj_hero)) // Jeśli w pozycji o jeden piksel w górę, spotyka się z obj_hero //jakaś akcja, np. solid = false, czyli przestaje być solidne if(place_meeting(x, y+1, obj_hero)) // Jeśli w pozycji o jeden piksel w dół, spotyka się z obj_hero //jakaś inna akcja, np. solid = true, czyli znowu jest solidne</span> Tylko nie zapomnij o tym, że masz jakoś tam ustawione originy sprite, więc zamiast odejmować 1, trzeba będzie na przykład 33.
  2. Sutikku

    Modulo w szyfrze cezara

    Okeej, myślę, że rozumiem. Dziękuje :thumbsup:
  3. Sutikku

    Modulo w szyfrze cezara

    To, to wiem. Chodzi mi o to, że co daje nam to, że mamy tę resztę z dzielenia?
  4. Sutikku

    Modulo w szyfrze cezara

    Hej. Będę startował w jakimś tam konkursie i widzę, że trzeba mieć wiedzę na temat Szyfru Cezara i ROT13. Ale zauważyłem, że zawsze korzysta się z funkcji modulo np. for(int i=0;i<dl;i++) tab[i] = (tab[i] - 65 + klucz)%26 + 65; O ile się nie myle '%' to modulo, tak? Lub to klucz = klucz % ilosc_liter; Nie rozumiem tego i proszę o pomoc.
  5. Sprawdzasz czy kubek Twój spada. Jakoś tak GML if(gravity) { //Ladny kod } No i robisz sobie jak napisał już Vader, licznik czy było 5 pikseli.
  6. Hej. W gierach top-down, czasem jest coś takiego, że postać jest po środku + im dalej myszka, tym dalej widzimy, ale z pewnymi ograniczeniami, żeby ludzie z wielką rozdzielczością nie mieli przewagi. Jak coś takiego wykombinować?
  7. Oks, więc wystrzelasz sobie 4 lasery i one mają zawsze z najbliższym laserem kąt dajmy 30*. Więc chcesz przesuwać laserami i żeby zostawało to 30*. Mam nadzieje, że dobrze zrozumiałem. Musisz zamiast ustawiać ich image_angle, dodawać. Tzn. jeśli ruszając myszką stworzyłeś coś co przesunęłoby je o kąt 15*, to one wszystkie muszą dodać te 15*. Przy tworzeniu laserów twórz zmienną o ich początkowym kierunku. I od tego kierunku odejmuj image_angle? Nawet nie wiem jaki to da efekt. Powiedzmy, że dałem Ci troszkę teorii, może pomogłem. (tak, uznałem to * za stopnie)
  8. Sutikku

    DORG

    Przy 10 obiektach jest 26 fps ?
  9. Już wiem w czym problem. Nadużywałem draw_point().
  10. Już próbowałem, ale nic. Ostatecznie będę korzystał z mniejszych spritów, więc sam room będzie mniejszy. Rozwiąże to też problem moich kiczowatych grafik :x
  11. Hej. Mam pokój o rozmiarach 8192 x 8192. Wcześniej był dwukrotnie mniejszy i było 60fps. Teraz jest po 30. Próbowałem dezaktywować obszar poza view, ale tak dużo nie pomogło. Wszystkie niepotrzebne obiekty usunąłem (wcześniej był praktycznie cały zajęty blokami). Jak to zoptymalizować? Co prawda laptop na którym pracuje jest bardzo słaby, ale uważam, że nie powinno to aż tak wpływać na wydajność.
  12. Może zrób sobie specjalny cheatkey. Po jego wciśnięciu przenosi Cię do roomu, daje level, broń, exp czy co tam chcesz.
  13. Nie rozumiem za bardzo o co chodzi. Chcesz żeby do tablicy wyb[], zapisywało wybraną opcje? GML wyb[0,0] = wan[0,0] wyb[0,2] = wan[0,2] wyb[0,1] = wan[0,1] A jeśli masz jeszcze co innego na myśli, to coś takiego ewentualnie Ci podrzucam. GML var buy; //zmienna buy to, inaczej pierwszy element tablicy. Jeśli kupisz Light Wand, to zapisz to na 1 wyb[buy,0] = wan[buy, 0] Chyba, że chcesz, aby te bronie, zapisywało 'po kolei'. GML var buy; //z buy to samo co wcześniej for(i=0; i<maks_ekwipunek; i++) // sprawdza tablice wybór po kolei, czy jest pusta { if( wyb[i,0] == 0 ) // jeżeli jest pusta { wyb[i,0] = wan[buy, 0]; // przypisuje wybraną opcje break; // wychodzi z pętli } } A no i jeśli będziesz miał dużo takich wartości do jednego itemku, to pętlami to przypisuj. GML for(i=0; i<wszystkie_opcje; i++) { wyb[0,i] = wan[0,i]; }
  14. Sutikku

    Galeria Grafik

    Przez pierwsze 5 sekund nie mogłem odróżnić tła od reszty. Może jakieś małe rozmycie? Chyba, że tylko ja tak miałem ;x
  15. To się dzieje na moich oczach. Mały krok dla Threefa, wielki dla mnie. Zrobiłem na razie grid 32x32 i użyłem drugiego sposobu na połączenia (jest prostszy i bardziej mi się podoba). Ale co zrobić by pokoje nie były tak wielkie? Bo im więcej pokoi tym szybciej robią się wielkie przestrzenie. W pewnym momencie zaczynać w innym miejscu ?
  16. No więc. Napisałeś mi wszystko krok po kroku, dodając minusy i plusy danych sposobów, podałeś jakich funkcji użyć i najgorsze jest to, że chyba nie mogę zrobić więcej jak powiedzieć, a właściwie napisać dziękuje. Także, dziękuje.
  17. Witam. Chciałem się w końcu nauczyć robić losowy generator mapy. Padło na dungeony. Chodzi mi o takie jakie są na przykład w The Binding of Isaac, czy nowej grze zwanej Enter the Gungeon. No i teoretycznie wypisałem sobie punkty jak to w teorii ma wyglądać. Myślałem żeby robić to tak 1. W centrum ustawiam pokój. 2. W każdej ze ścian daje jakąś szansę, że zrobi się przejście. 3. Jeśli zrobiło się przejście to ustawia się pokój. 4. Powtarza punkt 2 i 3, aż zabraknie możliwości, czy dojdzie do jakiegoś tam ustalonego limitu. Wszystko wygląda pięknie, w czym więc problem? Ano jak takowy pokój postawić. A jakby ktoś miał jakiś inny pomysł, jak tworzyć dungeony fajniejsze, łatwiejsze, cud miód orzeszki, to z chęcią wysłucham.
  18. No okej. Mamy postać. Ona ma różne cechy. GML (create) szybkosc=irandom(10); celnosc=irandom(10); Potem jak masz te 11 czy ile tam piłkarzy, sumujesz wszystko. Przyjmuje, że masz zapisanych piłkarzy do jakiejś tablicy GML for(i=0; i<11; i++) { suma_pkt[moja_druzyna]+=pilkarz.szybkosc; suma_pkt[moja_druzyna]+=pilkarz.celnosc; } No i potem wynik, razem z losową możliwością. GML suma_pkt[0] = punkty_jednej_druzyny; suma_pkt[1] = punkty_drugiej_druzyny; var los1 = irandom_range(-10, 10); var los2 = irandom_range(-10, 10); if( (suma_pkt[0] + los1) > (suma_pkt[1] + los2) wygrana_druzyna=0; else wygrana_druzyna=1; Szczerze. Pewnie ktoś znajdzie jakiś lepszy sposób. Ale co tam.
  19. Tak z ciekawości. Usunąłeś te place_free() czy zmieniłeś kod na taki jaki Ci podałem?
  20. W ogóle najlepiej zastanowić się skąd się to bierze. Jak chodzisz to sprawdza czy jest obok wolne miejsce. Więc jeśli nie znajdzie to zostanie przy starej animacji. A wolnego miejsca nie znajduje bo obok jest SOLID. Weź spróbuj pousuwać to place_free z kodu miecza, dla testu. A może niech animacja miecza będzie zmieniała się nie względem wciśniętych klawiszy i pozycji, a animacji bohatera? Coś takiego GML if(Jan.sprite_index==Jan_right) sprite_index=Miecz1_right;
  21. Sutikku

    DORG

    Przecież Ty co chwile robisz nową grę z jednej gry. Sam nie mam się czym chwalić jeśli chodzi o moje portfolio, no ale to już nie wiadomo o co chodzi ;x
  22. Wracając do akcji z GMS. Nie wyciągałem żadnego RAMu, tylko zacząłem testować całość memtestem. Bo tak na mój rozum, to gdyby którakolwiek kość była zepsuta, to wykryłoby jakiśtam error. Nic mi nie wykryło, a GMS nadal nie działa. Powtórzyć test z pojedynczymi kośćmi ?
  23. Ktoś pomoże jak mniej więcej to sprawdzić? Nie mogę znaleźć dobrego opisu, a sam nie potrafię ogarnąć. Mam zmieniać coś w biosie?
  24. Niestety nadal nie działa. Odkryłem coś jeszcze. Ten sam błąd się pokazuje jak włączam jeszcze inny program (a dokładnie Cheat Engine).
×
×
  • Dodaj nową pozycję...