Skocz do zawartości

gnysek

Administratorzy
  • Zawartość

    9119
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    20

Ostatnia wygrana gnysek w Rankingu w dniu 4 Sierpień

gnysek posiada najczęściej lubianą zawartość!

Reputacja

77 Duża Cegła Społeczności

1 obserwujący

O gnysek

  • Tytuł
    Właściciel GMCLANu
  • Urodziny 11/25/1987

Contact Methods

  • Website URL
    http://gnysek.pl/

Previous Fields

  • Team
    FABLE INSIDE
  • Steam
    gnysek
  • GG
    5027526
  • Nagrody
    Najbardziej pomocny uzytkownik (CA 2011)
  • last.fm
    gnysek
  • Użytkownik GameMaker Studio 2
    Tak
  • Użytkownik GameMaker Studio
    Tak
  • Użytkownik GameMaker 8
    Tak
  • Użytkownik GameMaker 7 i wcześniejszych wersji
    Tak
  • Użytkownik Unity
    Nie
  • Uytkownik Godot
    Nie

Profile Fields

  • Skąd
    Banino / Trójmiasto

Ostatnie wizyty

76307 wyświetleń profilu
  1. Surface - Optymalizacja

    Tam jest taki milion zmian, że na razie się odnajdź
  2. Surface - Optymalizacja

    Właśnie nie mogłem znaleźć info jaki jest ten limit.
  3. Surface - Optymalizacja

    3 sekundy i wiesz, że jest wersja trial za free: https://www.yoyogames.com/get
  4. Surface - Optymalizacja

    W tak starym GM, to nawet nam się nie chce szukać, jakie funkcje były dostępne, ale raczej nie. Tam cały pipeline od rysowania inaczej działał, to jest jednak 8/9-letnie oprogramowanie, jeszcze przed Windowsem 8...
  5. ja pan§†ach

    Cytat roku jak znalazł.
  6. Surface - Optymalizacja

    tile_add(background,left,top,width,height,x,y,depth) Adds a new tile to the room with the indicated values (see above for their meaning). The function returns the id of the tile that can be used later on. No chyba już sam odpowiedziałeś, raczej nic więcej w GM8 nie ma.
  7. Surface - Optymalizacja

    Dlatego mi działa bez problemu, jednak coś tam optymalizują
  8. Surface - Optymalizacja

    Ja robiłem już gry, gdzie jest 10000 instancji w roomie (5MB ma plik samego rooma!) i 60fps aż miło. Więc coś masz ostro źle
  9. Surface - Optymalizacja

    FPS spadł, bo rysujesz surface wielkości roomu a nie view. A z kursorem nie wiem, chodzi o kursor windowsowy czy gra miała jakiś własny ?
  10. Surface - Optymalizacja

    1) nie rysujemy poza draw w Studio 2) trzeba sprawdzać czy surface istnieje w każdym kroku // create surf = -1; // draw if (!surface_exists(surf)) { surf = surface_create(...); } surface_set_target(surf); ... rysujemy surface_reset_target(); ... draw_surface(....); Nie mniej to niewiele pomoże, bo GM i tak sam odrzuca z rysowania to co jest poza ekranem A efekt pojawia się bo robisz jakieś draw_set_blend_mode_ext nie wiadomo po co.
  11. Lengthdir - Nie ogarniam

    starsze GM: value = -15 + round(random(30.1)) nowsze GMS: value = irandom_range(-15, 16); random zawsze losuje liczbę a <= value < b, więc nigdy nie dostaniesz b, dlatego piszemy 16 (i 30.1 w przypadku pierwszym)
  12. Lengthdir - Nie ogarniam

    OK, a weź daj screena tych obrazków, ale ze sprite editora, żeby origin było widać (i coś na około, nie przycinaj tak dokładnie). Mały hint - możesz robić ctrl+v obrazka w poście
  13. Lengthdir - Nie ogarniam

    Ja z kolei nie rozumiem twojego rysunku. Dobra, inaczej, mamy dwa sprite. Każdy ma origina na środku, więc jak robisz draw_sprite(spr_A, 0, x, y), no to origin tego sprita jest właśnie na pozycji x i y. To wiemy. Teraz mamy drugi sprite, on też ma origina i działa to na tej samej zasadzie. Jak napiszesz, zeby środek pierwszego sprite był 20px od środka drugiego, to robisz tak: draw_sprite(spr_B, x+lengthdir_x(20, dir), y+lengthdir_y(20, dir)); oczywiście za dir podkładasz kierunek, np. dla kierunku 0 i kierunku 45 będzie to tak (sorry za jakośc, to jakiś onlinowy edytor grafiki): Oczywiście spr_B nie jest tutaj obracany, jakbyś chciał, żeby zawsze się obracał względem siebie, to musisz o to zadbać sam. Fioletowa linia to jest te 20px. Oczywiście jak origin bedzie gdzie indziej, to sie wszystko zmienia: Mniej wiecej tak (tutaj jeden spite ma origin w 0,0, a drugi ma w np. 20,0). Będzie wrażenie, że ten sprite ucieka i się zbliża. Dlatego najlepiej, jak masz origin na środku (albo środku przynajmniej jednego boku i obracać dobrze). Po prostu zawsze na początku i końcu linii jest origin, a sprite się rysuje o tyle przesunięty (jak masz origin 30,40, to sprite będzie się zaczynał -30px w lewo i -40 w górę od punktu wynikowego).
  14. Lengthdir - Nie ogarniam

    No właśnie cała specyfika lenghtdira polega na tym, ze nie musisz pitagorasów/tangensów liczyć, tylko podajesz od razu długość przeciwprostokątnej. Patrzysz zatem na swój sprite który ma się obracać względem pierwszego i na to, jaki ma origin x. To będzie ten width. x + lengthdir_x(w, 0) i y + lengthdir_y(w,0), powinny ustawić origin sprita drugiego, względem origina sprita pierwszego (gdzie x i y to pozycja pierwszego, a w to jest origin x drugiego). Przypominam - 0 to w prawo, 90 w górę, 180 w lewo, 270 w dół, 360 == 0. Zatem jak chcesz następny obrazek ustawić nie względem origina, a prawego końca, to musisz policzyć lengthdira z całej szerokości. Jak kolejny sprite ma origin na środku, ale ma nie zaczynać się na prawej stronie, ale na środku wzgledem tej strony, to kolejny raz liczysz od ostatniego punktu lenghtira o długosci origina. Nie mam żadnego fajnego painta na linuxie żeby to narysować
  15. Nad czym aktualnie pracujesz?

    Czyli tamta jest uber-trudna.
×