-
Postów
5 841 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
5
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Tymon
-
Bo to wina kodu który masz w step. Cały czas wykonujesz GG_droga i po prostu GM liczy to samo wiele razy. Ogranicz nieco skrypt by wykonywał się tylko raz, albo zmień eventa. Najlepiej to przeanalizuj jeszcze raz jego działanie sam i pomyśl, że robi to 30 razy w ciągu sekundy. ;)
-
GML //WYSZUKANIE DROGI if global.powrot = 0 { //RESET path_end(); //stop! path_clear_points(Path); //czyścimy ścieżkę with(Point)instance_destroy(); //czyścimy znaczniki with(Goal)instance_destroy(); //WYSZUKIWANIE global.Grid = mp_grid_create(0,0,153,198,16,16); //twożymy nową siatkę mp_grid_add_instances(global.Grid,Obstacle,true); //komórki zajęte przez obiekt Obstacle ustaw jako niedozwolone global.Ready = mp_grid_path(global.Grid,Path,x,y,(global.Pozycjax div 16*16)+8,(global.Pozycjay div 16*16)+8,true); //wyszukaj ścieżkę i daj znać czy znalazłeś czy nie do zmiennej Ready path_set_kind(Path,true); //ustaw gładkie krawędzie ścieżki mp_grid_destroy(global.Grid); //wywal siatkę global.PathWidth = path_get_number(Path)-1;//zapamietaj długość ścieżki if(global.Ready) //jeśli znalazł ścieżkę { instance_create(path_get_point_x(Path,global.PathWidth),path_get_point_y(Path,global.PathWidth),Goal); //pokaż znacznik punktu docelowego //pokaż znaczniki ścieżki for(i=0;i<global.PathWidth;i+=1) instance_create(path_get_point_x(Path,i),path_get_point_y(Path,i),Point); } if global.Ready//jak sobie klikniesz i już znaleziono ścieżkę to... { path_start(Path,10,0,true); //jazda! global.Ready = false; } } else if global.powrot = 1 { path_end(); //stop! path_clear_points(Path); //czyścimy ścieżkę with(Point)instance_destroy(); //czyścimy znaczniki with(Goal)instance_destroy(); path_delete(Path); //WYSZUKIWANIE global.Grid = mp_grid_create(0,0,153,198,16,16); //twożymy nową siatkę mp_grid_add_instances(global.Grid,Obstacle,true); //komórki zajęte przez obiekt Obstacle ustaw jako niedozwolone global.Ready = mp_grid_path(global.Grid,Path,x,y,(global.spozycjax div 16*16)+8,(global.spozycjay div 16*16)+8,true); //wyszukaj ścieżkę i daj znać czy znalazłeś czy nie do zmiennej Ready path_set_kind(Path,true); //ustaw gładkie krawędzie ścieżki mp_grid_destroy(global.Grid); //wywal siatkę global.PathWidth = path_get_number(Path)-1;//zapamietaj długość ścieżki if(global.Ready) //jeśli znalazł ścieżkę { instance_create(path_get_point_x(Path,global.PathWidth),path_get_point_y(Path,global.PathWidth),Goal); //pokaż znacznik punktu docelowego //pokaż znaczniki ścieżki for(i=0;i<global.PathWidth;i+=1) instance_create(path_get_point_x(Path,i),path_get_point_y(Path,i),Point); } //RUCH if global.Ready//jak sobie klikniesz i już znaleziono ścieżkę to... { path_start(Path,10,0,true); //jazda! global.Ready = false; } } Sprawdź. BTW. może ukrócona wersja: GML //WYSZUKANIE DROGI if global.powrot = 1 { TX = (global.spozycjax div 16*16)+8; TY = (global.spozycjay div 16*16)+8; } else { TX = (global.Pozycjax div 16*16)+8; TY = (global.Pozycjay div 16*16)+8; } //RESET path_end(); //stop! path_clear_points(Path); //czyścimy ścieżkę with(Point)instance_destroy(); //czyścimy znaczniki with(Goal)instance_destroy(); //WYSZUKIWANIE global.Grid = mp_grid_create(0,0,153,198,16,16); //twożymy nową siatkę mp_grid_add_instances(global.Grid,Obstacle,true); //komórki zajęte przez obiekt Obstacle ustaw jako niedozwolone global.Ready = mp_grid_path(global.Grid,Path,x,y,TX,TY,true); //wyszukaj ścieżkę i daj znać czy znalazłeś czy nie do zmiennej Ready path_set_kind(Path,true); //ustaw gładkie krawędzie ścieżki mp_grid_destroy(global.Grid); //wywal siatkę global.PathWidth = path_get_number(Path)-1;//zapamietaj długość ścieżki if(global.Ready) //jeśli znalazł ścieżkę { instance_create(path_get_point_x(Path,global.PathWidth),path_get_point_y(Path,global.PathWidth),Goal); //pokaż znacznik punktu docelowego //pokaż znaczniki ścieżki for(i=0;i<global.PathWidth;i+=1) instance_create(path_get_point_x(Path,i),path_get_point_y(Path,i),Point); } if global.Ready//jak sobie klikniesz i już znaleziono ścieżkę to... { path_start(Path,10,0,true); //jazda! global.Ready = false; }
-
Weź rzuć mi to co masz na PW, albo jakoś tak. Po prostu bez podglądu kodu trudno jest mi cokolwiek powiedzieć. =) Może tylko nie zwalniasz obiektu z używanego patha. I wtedy byk. Może też po prostu problemem jest to, że rozdzielasz pathe na dwa oddzielne. Weź potraktuj Path i Path2 jako jeden - w jednej zmiennej.
-
To jest tak, znajdujesz drogę i wtedy tworzy Ci nowego patha, po przejściu patha go kasujesz, a gdy znowu chcesz gdzieś iść to robisz wszystko od początku... znajdujesz drogę... bla bla. Inaczej po prostu będziesz niszczył używanego patha.
-
A chce Ci się to robić? Bo można wszystko przepisywać łopatologicznie.
-
GML path_delete( path );Nie? I zaraz po tym nową w to miejsce. =P
-
https://forum.gmclan.org/index.php?showtopic=9189&hl=
-
Wiesz, jeśli gra nie ma takiej możliwości to nie zrobisz w niej filmu. Ewentualnie możesz zrobić filmik z gry. Polecam HyperCam.
-
######ste Temp! Szkoda, że aż 50 megasów. =P Miałem coś napisać konstruktywnego, ale po cholerę jak nie mam się czego przyczepić.
-
Rozróżniacie błąd przeglądarki od błędu serwera spowodowanego wykonywaniem kodu PHP?
-
Ale on chce bez względu na położenie!
-
Walka mieczem
Tymon odpowiedział(a) na PsichiX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
"Ta zmienna dostępna tylko w pro", kapisz? -
GML if( speed == 0 ) room_goto ( runda2 );
-
Masz eventy naciśnięć odpowiednich klawiszy. Zapraszam do czytania dokumentacji. Rzeczywiście jesteś "da best".
-
direction? Nie no tak serio to sam nie wiem, nie jestem jeszcze na takim poziomie.
-
To niby jak chcesz sprawdzić czy przeszedł 100px? Ludzie. Odliczaj alarmem: GML alarm[0] = 100 div speed;W evencie alarmu oczywiście zmiana kierunku. Zakładając oczywiście, że speed i direction to wartości stałe na czas odliczania alarmu.
-
Mierzyć odległość od ostatniego miejsca zmiany kierunku ew. startu i jeśli zostanie przekroczona to zmienić kierunek?
-
I co, zlot grafików na GG? Weźcie ludzie, trochę zaangażowania z waszej strony.
-
tomekkmakaveli, to było się od razu się zgłosić do administratora. Tak sobie tylko problemów narobiłeś. I tak bym mu nie zmienił, mało to razy odmawiałem? Ranmus
-
Da wiele bo cały czas stoi na nim działająca kopia GMclanu. Po za tym nie rozumiem o co Ci chodzi... Pewnie doczekacie się jej jak opanuję Photoshopa na dobrym poziomie ew. załatwię coś u znajomego "projektanta stron". =P gnysek, bo pewnie szybciej powstanie nowa. =P
-
Ta, jasne. Tym bardziej gnysiu jak będziesz tak do tego podchodził. Jeśli uda mi się to będzie nowy layout, a jeśli będzie nowy layout to i nowa wersja się sama przyszykuje u mnie na localhoście.
-
To oceniaj od 1 do 10 tylko wystawiając ocenę dziel przez 2. Wiecie, sami sobie jesteście winni bo byle jaką grę oceniacie na 5. Może nie koniecznie wy, ale nowicjusze. Ogólnie można by wprowadzić system jakiejś punktacji, ale to raczej już przy pojawieniu się nowej odsłony GMclanu. Tak czy inaczej, nie liczcie teraz na jakieś zmiany. Po za tym, im więcej ludzi ocenia grę tym ocena staje się bardziej obiektywna.
-
Eeeem. Może zarejestruj się na jakimś forum obracającym się w okół takich tematów?
-
Taki byk GMa. Po prostu zmień rozmiary wszystkich spritów/tilesetów. Ewentualnie napisz systemik który będzie wszystko skalował.