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. Dobra ogarnąłem to: GML var maxX1 = (global.sheight-1)*global.terrainsize; var maxY1 = (global.swidth-1)*global.terrainsize; for(xx=0;xx<global.swidth-1;xx+=1) { d3d_model_primitive_begin(global.terrainmodel,pr_trianglestrip); for (yy=0;yy<global.sheight;yy+=1) { z2=ds_grid_get(global.terraingrid,yy,xx+1); d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,(xx+1)*global.terrainsize,z2,0,0,1, (yy*global.terrainsize)/maxX1, ((xx+1)*global.terrainsize)/maxY1); z1=ds_grid_get(global.terraingrid,yy,xx); d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,xx*global.terrainsize,z1,0,0,1, (yy*global.terrainsize)/maxX1, (xx*global.terrainsize)/maxY1); } d3d_model_primitive_end(global.terrainmodel); } To co zrobiłem to podzieliłem pozycję każdego wierzchołka terenu przez maksymalną szerokość i wysokość terenu. No i oczywiście wywaliłem te adraw bo już do niczego nie są potrzebne. EDIT: Tutaj masz optymaniej GML var maxX = (global.sheight-1)*global.terrainsize; var maxY = (global.swidth-1)*global.terrainsize; for(xx=0;xx<global.swidth-1;xx+=1) { d3d_model_primitive_begin(global.terrainmodel,pr_trianglestrip); for (yy=0;yy<global.sheight;yy+=1) { var z2 = ds_grid_get(global.terraingrid,yy,xx+1); var xPos = yy*global.terrainsize; var yPos = (xx+1)*global.terrainsize; d3d_model_vertex_normal_texture(global.terrainmodel, xPos, yPos, z2, 0, 0, 1, xPos/maxX, yPos/maxY); var z1 = ds_grid_get(global.terraingrid,yy,xx); var xPos = yy*global.terrainsize; var yPos = xx*global.terrainsize; d3d_model_vertex_normal_texture(global.terrainmodel, xPos, yPos, z1, 0, 0, 1, xPos/maxX, yPos/maxY); } d3d_model_primitive_end(global.terrainmodel); }
  2. Wiem o co chodzi i wiem w którym miejscu zmienić, tzn tutaj: GML (terraincreate) adraw=true; for (yy=0;yy<global.sheight;yy+=1){ adraw = !adraw; z2=ds_grid_get(global.terraingrid,yy,xx+1); d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,(xx+1)*global.terrainsize,z2,0,0,1,adraw,1); z1=ds_grid_get(global.terraingrid,yy,xx); d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,xx*global.terrainsize,z1,0,0,1,adraw,0); } Zmienić trzeba argumenty xtex i ytex w d3d_model_vertex_normal_texture tylko muszę pomyśleć w jaki sposób.
  3. Niesamowita jest u ciebie dbałość o szczegóły bardzo mi się podoba, kolizje wiadomo do dopracowania. A o co chodzi dokładnie z tym? Jaki masz problem?
  4. Ciekawi mnie jak zrobisz psa bo ta technika rysowania postaci jest dobra jak postac jest wysoka i chuda, ale z psem będzie ciężko żeby to jakoś wyglądało.
  5. Na postaciach wykorzystałeś sprity (bliboardy) do stworzenia sztucznego efektu 3D a na to nałożyłeś prawdziwe obiekty 3D, ja nie potrafię wskazać innej gry w takim stylu. Dla mnie to jest coś nowego. Ok no Driver 2 na PSX miał takie coś ale tam się dziadowało bo PSX nie miał float więc obliczenia na intach były bardzo nieprecyzyjne.
  6. KOZAK Idź w ten styl i zrób coś sensownego !!!! Będziesz na pierwszej stronie Yoyogames jak ukończysz.
  7. Grałem a nie zauważyłem tego błędu haha
  8. Trochę śmieszy ta nieufność do yoyogames czy o czymś nie zapomnieli no ale sami sobie taką opinię wypracowali.
  9. Na mobilki zostaje ci jedynie GMS2 ale jest cholernie drogi. Starsi użytkownicy który mieli konto w GMS1 mogą na nim robić mobilki.
  10. W kilku grach widziałem komunikację przez p2p ale tam też musi być jakiś master server który graczy dobierze.
  11. No tak, dodali to już dawno nawet w GMS1
  12. Ale nie trzeba się logować żeby używać pierwszego GMSa, dopiero dwójka tego wymaga
  13. Ja sobie najpierw piszę skrypt o nazwie mouse_enter GML /// mouse_enter(x, y, x2, y2) var vMx = window_mouse_get_x(); var vMy = window_mouse_get_y(); return vMx > argument0 && vMx < argument2 && vMy > argument1 && vMy < argument3; Ten skrypt zwraca True jeżeli myszka znalazła się prostokątnym obszarze o rozmiarze x1,y1 do x2,y2 względem okna. bo głównie potrzebuję tego do GUI. Jak chcesz sprawdzać pozycję myszki względem pozycji w room no to podmień na mouse_x i mouse_y; I teraz z użyciem tej funkcji, tworzenie przycisków jest bardzo proste: GML if ( mouse_check_button_pressed(mb_left) && mouse_enter(0, 0, 128, 128) ) { // myszka nacisnęła na lewy górny róg okna gry }
  14. Pobierz stąd darmowego GMS 1 https://www.yoyogames.com/downloads/gm-stud...tes-studio.html Oferuje znacznie więcej możliwości niż GM8.1 Lite. Edit: Kurcze poległem na 1 planszy jestem na to za głupi.
  15. Patryk po co taka skokowa akceleracja bo nie rozumiem? Btw sec powinien gdzieś się resetować
  16. Tak wiem ale zauważ, że ilość amunicji się nie zmienia
  17. Tak, dodać do included files i odczytywać funckjami z rodziny sprite_add
  18. Dałem dupy sorry :D Simian dodałem cię na steamie. Decretusa też chciałem dodać ale pokazuje mi kogoś z australii jak klikam w link profilu.
  19. randomize() używa się w create, ta funkcja mówi GMowi tylko to że generator liczb losowych ma losować nowy "seed" w trybie testowania gry i w debuggerze. GML // Create randomize(); losowyText = choose("Witaj","siemanko","elo", "czesc") GML // Draw if(distance_to_object(obj_gracz) < 11) //Odleglosc od gracza { draw_text(x,y,losowyText ); } Oto mi chodziło ;)
  20. I am Lord

    Pac-Man Revenge

    Na pewno spróbuję twoją grę masz to jak w banku :)
  21. To chyba pierwszy krok do całkowitego wycofania GMS 1 w takim razie. Więc jak teraz wygląda proces aktywacji starego GMS? Bo wcześniej się ściągało free i wpisywało klucze
  22. Ja mam nie użyty klucz GMS pro. Ale on w stosunku do wersji free, daje ci prawdopodobnie jedynie możliwość tworzenia assetów do Marketplace. Mogę ci go dać jak jesteś zainteresowany.
  23. Zabrałem się do robienie 1 bitowej platformówki z poziomami generowanymi, chcę zobaczyć czy podołam zrobić jakiś sensowny algorytm, który nie będzie tworzył monotonnego świata. Zobaczymy czy coś z tego wyjdzie
  24. I am Lord

    Broken

    Kolega chyba dobrze kuma klimaty jrpgowe i moim zdaniem wszystko dobrze pasuje :)
×
×
  • Dodaj nową pozycję...