-
Postów
350 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Nicolas
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
-
Strona 2 z 15
-
No to masz pecha. Może zrób pod jakims przyciskiem? Latwiej Ci bedzie. Naciskasz klawisz jakas zmienna ustawia sie na 0 lub 1. Jak 1 to kod oblsugi myszki jest wykonywany(do scian), jezeli 0 to nie dzieje sie nic, albo myszka spelnia inne role.
-
notme - czy brac pod uwage obiekt wywolujacy precision - precyzyjnie czy bounding boxami (inaczej mowiac czy uzwgedniac przezroczyste fragmenty sprita obiektu) edit: ups... za pozno
-
Collision_line(x1,y1,x2,y2,obj,prec,notme) powinno wystarczyc: https://gmclan.org/up78_11_widzenie.html. Moj stary przyklad. Wyciagnij co potrzeba.
-
Mi tez sie ciekawie rozmawialo. :D Moze dodasz tekst w stylu: "powtarzasz sie"? EDIT: WHAAAAAAAAAAA~~~~~~~~~! Toz to stary temat! Ten bump i wypowiedz TuxMan mnie zmylila. Srlssry.
-
Tak jest. Chociaz nie uzylem tam zadnej funkcji exclusive z GM7. Zaraz sciagne 6.1 i przepisze przyklad. EDIT: //zeby double posta nie bylo https://gmclan.org/up78_11_wall_61.html
-
https://gmclan.org/up78_12_wall.html Lewym przyciskiem "budujesz", prawym usuwasz. Nie da sie postawic dwoch obiektow na sobie. Wszystko wyrownane do siatki 32x32. W lewym gornym rogu licznik zbudowanych obiektow. Krotki opis funkcji: collision_rectangle - sprawdza czy w tym kwadracie 32x32 znajduje sie juz obiekt instance_position - pobiera id obiektu na pozycji, jezeli nie znajdzie zwraca noone with(id) instance_destroy - usuwa obiekt o podanym id instance_number - zwraca ilosc obiektow danego typu
-
Nie masz obiektu o nazwie enemy.
-
Do laczenia dwoch warunkow, gdy oba maja byc spelnione (lub nie) uzywamy operatora logicznego && (and). EDIT: Funkcje, ktorych wynik moze przyjmowac tylko dwa stany (np. tak/nie) zwracaja (przynajmniej przewaznie) 0 lub 1. 1 spelniony, 0 niespelniony 0 && 0 = 0 1 && 0 = 0 0 && 1 = 0 1 && 1 = 1
-
distance_to_object(enemy)< 50 > 25 ?? Pytania zaawansowanych? Heh. GML if (distance_to_object(enemy) < 25) { enemy.life -= 10; } if (distance_to_object(enemy) < 50 && distance_to_object(enemy) > 25) { enemy.life -= 5; }
-
Radze liczyc kolizje metoda SAT: http://www.harveycartel.org/metanet/tutorials/tutorialA.html Udalo mi sie je zaimplementowac, wiec moge pokazac kod. Do rysowania uzywa OpenGL, ale sprawdzanie kolizji jest nie zalezne od API graficznego, wiec to bez roznicy.
-
Lepiej nie tykac room speed bo wplynie to na negatywnie na plynnosc gry. Jakis globalny modyfikator, ktory zalezny jest od odleglosci najblizszego wzgledem gracza pocisku i przez, ktory mnozone sa predkosci bylby lepszym rozwiazaniem. Gdy odleglosc bylba wieksza niz jaka wartosc modyfikator bylby rowny 1. Tylko jeszcze trzeba by polprosta rzucic i sprawdzic, czy moze trafic w gracza. EDIT: Zrobilem Ci przyklad. Nie chce mi sie bawic, wiec wady: -uzywanie instance_nearest - zly pomysl, lepiej miec liste pociskow i sprawdzac, ktorego promien koliduje -parametr "m" zmienia sie liniowo - nie wyglada to ciekawie, znajdz jakas fajna funkcje, ktora lepiej odda to co chcesz osiagnac https://gmclan.org/up78_12_matriks.html W praktyce sprawdzanie polprostej jest niewykonalne, wiec musialem ograniczyc sie do odcinka. Uzylem unreg GM7. EDIT DOWN: Moze jeszcze w pokoju posprzatac? Sam jesteś down. Warn +1. gnysek
-
-
Od dzis: z dziwnymi tematami, ktore prawdopodobnie maja zapewniac rozrywke uzytkownikom. Macie ciekawe zajecia. ;D
-
Tytuł: Benealith: Lord of Azkhagh Gatunek: Dwuwymairowa platformowa gra przygodowa z elemtami rozwoju postaci Opis: Jako poczatkujacy skrytobojca wspinasz sie po sczeblach kariery. Jednak twoja przygodna nie bedzie uslana rozami. Podczas niej zostaniesz wplatany w niejedna afere i wezmiesz udzial w wielu bitwach. Na poczatku zaczniesz jako prosty zlodziej bez pieniedzy i znajomosci. Twoje zadania beda proste i nudne. Jednak z czasem zdobeziesz zaufanie zarzadu gildii co oznacza przepustke do coraz to badziej odpowiedzilanych misji. Wszystko bedzie sie dzialo na ogromnych mapch. Nawet do 10000x10000. Walki beda zalezec nie tylko od statusow, czy noszonego sprzetu, ale takze od umiejetnosci gracza. Po pokananiu przeciwnika dostajesz punkty doswiadczenia, ktore swiadcza o mocy bohatera. Gra jest 2D i zawiera przerenderowane grafiki wektorowe. Klimatyczna muzyka to jeden z najwiekszych atutow produkcji. Download: To jest wersja specjalna dla gmclanu. Żeby nie dawać przypadkiem gry innym proszę o wysłanie mi maila, a ja odeślę link do gry. Mail: <ciah> Autorzy: Nicolas Screeny: www.smalec.org/temp/screen/01.jpg www.smalec.org/temp/screen/02.jpg
-
Jak zacząć robić grę platformową?
Nicolas odpowiedział(a) na Spyro1993 temat w Pytania początkujących
http://gamemaker.nl/tutorials/platform.zip Wszystko opisane + przyklady. -
Sprobuj: srand( static_cast<unsigned int> (time(NULL)) ); // zapobiega liczba pseudolosowym; uzyj tylko raz rand() % 11 + 1; Dodaj jeszcze ctime.
-
https://gmclan.org/up992_4_screen.html Brakowalo "L" w adresie. Co do samych screenow to nie zachecaja, ale przynajmniej wlasne. Mam nadzieje, ze w ruchu jest lepiej...
-
https://forum.gmclan.org/index.php?showtopi...p;hl=view_xview https://forum.gmclan.org/index.php?showtopi...p;hl=view_xview https://forum.gmclan.org/index.php?showtopi...p;hl=view_xview (post 12 i 13) Starczy, czy szukac wiecej? ;/ Lepiej sie gdzies schowaj bo jak zle mody przyjda to moga Ci krzywde zrobic. EDIT: Sry, nie widzialem posta Micansera. Bylem w trakcie szukania. PS.: Nazwy tematu powinno sie traktowac jak tytuly? Bo nie wiem, czy tam kropki mozna stawiac i mam dylemat. Sorki za offtop, ale zzera mnie ciekawosc.
-
W edytorze grafiki GM w "file" wybierz "create from strip". Potem zapisz kazda klatke osobno.
-
http://download.4programmers.net/n.zip Kod zrodlowy prostego edytora tekstu. C++, kompilowane pod Devem. Jest tam opcja do zapisu i odczytu. Wystarczy wyciac.
-
Tworzenie listy: id_l = ds_list_create(); //id_l pewnie dasz global Create B: ds_list_add( id_l; id ); Petla: var i, t; t = ds_list_find_value( id_l, i ) if ( !collision_line( x, y, t.x, t.y, m, 1, 1 ) ) id_ = dis[0]; for ( i = 1; i < ds_list_size(id); i += 1 ) { t = ds_list_find_value( id_l, i ) if ( !collision_line( x, y, t.x, t.y, m, 1, 1 ) && ( distance_to_object( t ) < distance_to_object( id_ ) ) ) id_ = t; } if ( id_ != noone ) move_towards_point( id_.x, id_.y, 3 ); Game end: ds_list_destroy( id_l ); Nie mam pojecia czy dziala. Nie moge sprawdzic bo mam GM unreg, wiec nie mam mozliwosci uzywania list (szkoda :( ). Dzieki nim nie musisz sie martwic o rozmiar jak w przypadku tablic. Mysle, ze bedzie sporo wydajniejsze.
-
https://gmclan.org/up78_11_napraw.html O to chodzi?
-
Moze daj projekt bo teraz to troche jak wrozenie z fusow ( ktos tak zawsze mowil )... Zobaczymy o co chodzi - pozmieniamy. Tylko okroj go z muzyki, grafiki i innych "duzych czesci".
-
https://gmclan.org/up78_11_moving.html Ma pare wad, ale dziala... Np. 100 elementowa tablica, ktore nie zawsze sa wykozystywane. EDIT: Zapomnialbym. Jezeli obiektow h ( u Ciebie A ) ma byc wiecej niz jeden to radze stworzyc osobny ( np. objControl ) do przechowywania tablicy, ktory bedzie ja uaktualnial itd... Bo jezeli tego nie zrobisz to bedzie (100 * ilosc_obiektow) elementow. ^-^ Tablica ta przechowuje niby kilka cyferek, ale sa one uaktualniane w kazdym stepie, a (Kilka cyferek * 100 * ilosc obiektow ) zmieniane tyle razy na sekunde robi sowje... 100 to limit obiektow danego typu, wiec jezeli przewidujesz wiecej zmien to.
-
Kodem nie pomoge, ale moge pomsylem. Zrobilbym tablice przechowywujaca id wszystkich obiektow B. Nastepnie zmienna (np. id_ ) z poczatkowa wartoscia -1, albo noone i sprawdzanie po kolei calej tablicy, czy obiekt pod tym indeksem nie jest za sciana i czy jest blizszy A niz obiekt zapisany w id_. Jezeli tak to teraz jego id zapisujemy do zmiennej. Dzieki temu mamy id najblizszego obiektu, ktory nie jest za sciana w var. Jezeli id_ ma wartosc poczatkowa to, albo nie ma obiektow, albo wszystkie sa za sciana. Napisalbym kod, ale nie wiem jak zrobic tablice z id obiektow. Jezeli ich ilosc bylaby znana daloby sie, ze kazdy obiekt B podczas create zapisuje swoje id w tab[ instance_count ], albo jakos tak.
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
-
Strona 2 z 15