Skocz do zawartości

Dawidds

Użytkownicy
  • Zawartość

    1986
  • Rejestracja

  • Ostatnia wizyta

Reputacja

0 Neutralny

O Dawidds

  • Tytuł
    gamoń ;(
  • Urodziny 12/08/1994

Contact Methods

  • Website URL
    http://

Previous Fields

  • GG
    7823730

Profile Fields

  • Skąd
    stamtąd
  • Płeć
    Female

Ostatnie wizyty

17565 wyświetleń profilu
  1. Jak napisac wartosc liczbowa?

    Nie zoptymalizujesz tego, room_speed jest ustawiony na 90 (swoją drogą lepiej ustawić to na 60, monitory niezbyt często mają tempo odświeżania ekranu większe niż 60 (60MHz)) to znaczy, że 90 razy na sekundę okno gry jest rysowane od nowa - i nie działa to tak, że odrysowywane jest tylko to, co się zmieni - po prostu 90 razy na sekundę cały ekran gry jest rysowany jeszcze raz. I nic nie "zostaje" na ekranie - wszystko, tzn. tło, tilesy, wszystkie obiekty, punkty (wszystkie eventy draw) rysują się od nowa.
  2. 0-255 = 8 bitów, 0-127 = 7 bitów. 14 bitów ewidentnie nie zmieści się w ośmiu : p Zmieścisz dwie wartości 0-15, i zapis: liczba = (a << 4) + b; Odczyt: a = liczba >> 4; b = liczba mod 16;
  3. collision_line nie zwraca ani true ani false, zwraca id pierwszej napotkanej instancji lub noone (-4). Użyj samego "if collision_line()", nie dodawaj żadnego "= true" na siłę, bo poza takimi błędami nic Ci to nie da ; )
  4. Zabawa w programistę YYG

    Jak trigger?
  5. [C#] Wczytywanie resources

    Pewnie się jakoś da ale zawsze możesz nie obciążać exe tymi czterystoma grafikami i wczytywać je z plików
  6. Kolizja z 'całością' obiektu

    No to normalnie collision line, x1y1 to pozycja gracza, x2y2 to origin dachu, i sprawdzasz kolizje ze ścianami domku czy co tam chcesz.
  7. Ruch po orbicie/ grawitacja

    Poszukaj wzoru na siłę grawitacji i GML motion_add(point_direction(x, y, planeta.x, planeta.y), moc);
  8. dym trujący-particle

    1. Pierdzielisz particle i robisz to na obiektach - wtedy sobie dasz radę i będzie bardzo dokładnie 2. Dajesz obiektowi emitera jakąś okrągłą maskę i wtedy każdemu obiektowi możesz dać event "Collision with o_dym_emitter" 3. W każdym obiekcie sprawdzasz dystans do obiektu emitera (albo obiektów) i jeśli jest mniejszy niż x to ktoś jest zakażony Spróbuj sobie wersji 2., jeśli uznasz że jest za mało precyzyjna odwzoruj sobie particle na obiektach i będziesz miał normalne kolizje. Threef, co to za magiczne odwołanie "i.x, i.y"? : D
  9. wstrzas ekranu

    https://gmclan.org/index.php?sciagnijplik=182
  10. Rozmycie

    Tutaj podam drugi pomysł na rozmycie w gmie - wykorzystanie interpolacji przy rysowaniu. Rysujemy surface (z włączoną interpolacją) na dwa razy mniejszy surface, po czym przywracamy go do pierwotnego rozmiaru (powiększamy dwa razy). Później znowu zmniejszamy, znowu powiększamy itd. Można tutaj stosować różne kombinacje skali surfaców (zmniejszyć go dwa razy, potem zwiększyć dwa, zmniejszyć cztery, zwiększyć cztery itd.) i kombinować z nimi w celu uzyskania najlepszego stosunku jakośći do fpsu. Jakiś sample który dla kogośtam robiłem kiedyś, w sumie sam nie pamiętam kogo: http://dl.dropbox.com/u/25762547/blur.gmk Fps tej techniki może nie powala (choć można to jeszcze zoptymalizować) ale jakość rozmycia jest myślę znacząco lepsza niż wersji z półprzezroczystymi surface'ami. Istnieje:GML draw_set_blend_mode_ext(bm_zero, bm_inv_src_color); draw_sprite(sprite, 0, 0, 0); draw_set_blend_mode(bm_normal); Rysujemy to oczywiście na surfacie (surface_set_target()). Maska "sprite" powinna być cała czarna i wtedy jej kanał alpha zostanie przeniesiony na surfejsa (tam gdzie sprite jest przezroczysty na x% tam surface będzie przezroczysty na x%). W sumie pisze te blendy z pamięci ale chyba się nie pomyliłem : p
  11. Problem z latarką

    Niech sobie ta latarka trzyma tego surfejsa nawet w roomach w których go nie używasz (będzie jeden obiekt, z persistent, tak jak teraz masz), i wtedy tylko cały step i draw rozpoczynasz kodem GML if(global.latarka) { I zostaw w Game End to surface_free(). Będzie się bugować, bo obiekty w innych roomach i tak by się tworzyły, tyle, że te następne by nie miały stworzonego surfejsa (game start) a próbowały z nich korzystać (step/draw)
  12. Problem z latarką

    Tworzy Ci się pare obiektów od światła, zadbaj o to żeby był jeden na mapie (ustaw persistent temu na pierwszej mapie z następnych wywal te obiekty albo odznacz persistent i zostaw obiekt od światła na każdej mapie).
  13. Surfacy

    I w jaki sposób surface'y pomogły Ci uzyskać ten efekt ^^ ? Rysuj primitivami i będziesz miał broblem z głowy i nawet wydajniejsze rysowanie, chociaż w sumie nie wiem co Ty wykombinowałeś dokładnie z tymi surfami.
  14. Surfacy

    Może zacznijmy od tego po co rysujesz liny za pomocą surfaceów, tym bardziej że sam stwierdziłeś, że "wiele surface'ów musi być odmalowywane w każdym stepie".
  15. Generator

    W ogóle oświeć mnie po kiego grzyba rysować wygenerowaną mapkę jako grafikę tylko po to żeby potem znowu czytać z niej kolory? : / Taka tam konwersja [wartość] -> [kolor] -> [wartość], coby przypadkiem wszystko nie chodziło za szybko i żeby mieć pretekst do użycia draw_getpixel() bo to ogólnie bardzo fajna funkcja. Normalnie liczysz sobie tą heightmape niech bedzie perlin noisem do tablicy i tyle, po co rysować to na ekran i znowu czytać z tego ekranu, chyba tylko po to żeby stracić fps i trochę na precyzji.
×