Ignatus Opublikowano 2 Grudnia 2015 Udostępnij Opublikowano 2 Grudnia 2015 Nie używam nigdzie draw Poza tym skoro to działa bez zarzutu GML with obj_mobile parent if (distance_to_object(obj_eye)<100){visible=0} else visible=1 To dlaczego przy tym jest 0 reakcji GML with obj_mobile parent if (distance_to_object(obj_eye)<100){image_alpha=0} else image_alpha=1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 2 Grudnia 2015 Udostępnij Opublikowano 2 Grudnia 2015 sprawdź wartość image_alpha w debugerze może jakiś bug Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 3 Grudnia 2015 Udostępnij Opublikowano 3 Grudnia 2015 A co ma znaczyć GML with obj_mobile parent? Tak nie można budować warunku. Co próbowałeś osiągnąć? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 3 Grudnia 2015 Udostępnij Opublikowano 3 Grudnia 2015 ^ Pisząc to miałem na myśli że w obiekcie "obj_eye" w kodzie mam zaznaczone "Applies To" "object" i tam "mobile_parent" - zakładam że działa to dokładnie tak jak użycie "with" , jest inaczej? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 3 Grudnia 2015 Udostępnij Opublikowano 3 Grudnia 2015 GML with (obj_mobile parent) if (distance_to_object(obj_eye)<100){image_alpha=0;} else{ image_alpha=1;} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 3 Grudnia 2015 Udostępnij Opublikowano 3 Grudnia 2015 Po raz kolejny: NIE MA CZEGOŚ TAKIEGO JAK with([OBIEKT] parent) ani with([iNSTANCJA] parent) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 4 Grudnia 2015 Udostępnij Opublikowano 4 Grudnia 2015 I am vader: Mógłbyś rozwinąć?Co to znaczy że nie ma? Jeżeli nie ma to dlaczego to działa W stepie obiektu obj_eye GML with obj_mobile parent if (distance_to_object(obj_eye)<100){visible=0} else visible=1 Boad: ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 4 Grudnia 2015 Udostępnij Opublikowano 4 Grudnia 2015 Bo nie ma. Nie ma ani słowa kluczowego parent, ani przypisanie jakiejś wartości do zmiennej parent nic nie da. To powinno zwracać błąd. Ale ja rozumiem że to skrót myślowy i ty ustawiasz u góry okienka kodu że ma się wykonywać w innym obiekcie. Jeżeli tak to nigdy tego nie rób. Jest to dziwny feature w GM którego się nie używa bo powoduje on masę chaosu. Jeżeli chciałbyś wykonać jakiś kod z innego obiektu to powinieneś go wykonać w tamtym obiekcie żebyś potem nie szukał danego kawałka kodu. Jeszcze raz dokładnie opisz sytuację. Chcesz sprawdzać czy dystans pomiędzy czym a obiektem obj_eye jest mniejszy, a na podstawie tego zmieniać image_alpha dla wszystkich jakiś obiektów? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 4 Grudnia 2015 Udostępnij Opublikowano 4 Grudnia 2015 Teraz rozumiem,zapewne chodzi wam o to że napisałem z błędem, nie chodziło o GML obj_mobile parent tylko o GML obj_mobile_parent - to tylko nazwa własne parenta obiektów w grze które się poruszają. Kod który zastosowałem działa w każdym przypadku (testowałem sporo różnych rozwiązań od instance_destroy aż po image_x_scale)- i działa wszystko poza image_alpha. Cel jest prosty - kiedy dany obiekt zbliża się do obiektu obj_eye staje się niewidzialny- po odejściu znów go widać.Efekt osiągnąłem (poprzez użycie visible) ale wolałbym żeby pojawiał się płynnie(czyli zmniejszanie alpha) A kod tej zmiany chcę umieścić w obiekcie który to wywołuje (czyli obj_eye) dlatego że taka akcja może się pojawić dopiero w dosłownie 100 planszy- i nie widzę powodu żeby zaśmiecać kod wszystkich obiektów w grze wcześniej Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 4 Grudnia 2015 Udostępnij Opublikowano 4 Grudnia 2015 W takim razie: Ustawić obj_mobile_parent jako parent każdego obiektu który ma znikać. W obj_mobile_parent w step dać: GML image_alpha=clamp((100+distance_to_object(obj_eye))/100,0,1) W obiektach dzieciach w step dodać event_inherited() Oczywiście sposoby na zmianę alpha możesz sobie zmienić. GML if(distance_to_object(obj_eye)<100){image_alpha=max(0,image_alpha-0.01)}else{image_alpha=min(1,image_alpha+0.01)} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 17 Grudnia 2015 Udostępnij Opublikowano 17 Grudnia 2015 Da się jakoś przeszukać cały kod w poszukiwaniu czegoś? Takie ctrl+f. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 17 Grudnia 2015 Udostępnij Opublikowano 17 Grudnia 2015 CTRL + SHIFT + F :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 19 Grudnia 2015 Udostępnij Opublikowano 19 Grudnia 2015 Wydaje mi się, że to drobnostka więc: Da się jakoś szybciej kicknąć gracza (w gms networkingu), niż wysłać mu pakiet, żeby się rozłączył? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
H2S04 Opublikowano 20 Grudnia 2015 Udostępnij Opublikowano 20 Grudnia 2015 Problem wygląda następująco i pierwszy raz coś nie chce działać :/ Zawsze problemów nie było... Przy strzale odejmuje wartość ammo o jeden i w tym przypadku jest 14 ale zaraz zmienia się na 15 ;o skąd i jak? GML Information about object: o_player Sprite: s_playerpistol Solid: false Visible: true Depth: 0 Persistent: false Parent: Children: Mask: No Physics Object Create Event: execute code: instance_create(x,y,o_playerlegs); move = false; sprint = false; cshot = true; reload = false; lspeed = 0; mspeed = 4; ammo = 0; maxammo = 0; mag = 0; maxmag = 0; shottime = 0; reloadtime = 0; mindmg = 0; maxdmg =0; weaponname = 0; weapon[0,0] = 1; weapon[0,1] = 15; // ammo weapon[0,2] = 15; // max ammo weapon[0,3] = 1; // mag weapon[0,4] = 5; // max mag weapon[0,5] = 15;// shoot time weapon[0,6] = 60; // reload time weapon[0,7] = 5; // min dmg weapon[0,8] = 15; // max dmg weapon[0,9] = "Glock"; Alarm Event for alarm 0: execute code: realod = false; cshoot = true; ammo = maxammo; mag -= 1; Alarm Event for alarm 1: execute code: cshot = true; Step Event: execute code: image_angle = direction; direction = point_direction(x,y,mouse_x,mouse_y); weaponn = 0; ammo = weapon[weaponn,1]; maxammo = weapon[weaponn,2]; mag = weapon[weaponn,3]; maxmag = weapon[weaponn,4]; shottime = weapon[weaponn,5]; reloadtime = weapon[weaponn,6]; mindmg = weapon[weaponn,7]; maxdmg = weapon[weaponn,8]; weaponname = weapon[weaponn,9]; dmg = round(random_range(mindmg,maxdmg)); if keyboard_check_pressed(ord("R")){ if mag > 0{ if ammo < maxammo{ if reload = false{ alarm[0] = realodtime; reload = true; cshoot = false; } } } } if mouse_check_button(mb_left){ if cshot = true && reload = false{ if ammo > 0{ ammo -= 1; cshot = false; alarm[1] = shottime; } } } if keyboard_check(vk_shift){ sprint = true; } else { sprint = false; } if sprint = true{ mspeed = 6; } else { mspeed = 4; } if keyboard_check(ord("W")) or keyboard_check(ord("S")) or keyboard_check(ord("A")) or keyboard_check(ord("D")){ move = true; } else { move = false; } if move = true{ if sprint = false{ lspeed = 0.5; } else { lspeed = 0.8; } } else { lspeed = 0; } if keyboard_check(ord("W")) && place_free(x,y-mspeed){ y -= mspeed; } if keyboard_check(ord("S")) && place_free(x,y+mspeed){ y += mspeed; } if keyboard_check(ord("A")) && place_free(x-mspeed,y){ x -= mspeed; } if keyboard_check(ord("D")) && place_free(x+mspeed,y){ x += mspeed; } Draw Event: execute code: draw_self(); // pistol bullet draw_set_color(c_green); draw_line(x,y,x + lengthdir_x(50,direction-20) ,y + lengthdir_y(50,direction-20)); draw_set_color(c_white); //// laser draw_set_color(c_red); draw_line(x + lengthdir_x(50,direction-20) ,y + lengthdir_y(50,direction-20),x + lengthdir_x(500,direction) ,y + lengthdir_y(500,direction)); draw_set_color(c_white); /* // rifle bullet draw_set_color(c_green); draw_line(x,y,x + lengthdir_x(80,direction-14) ,y + lengthdir_y(80,direction-14)); draw_set_color(c_white); draw_set_color(c_red); draw_line(x + lengthdir_x(80,direction-14) ,y + lengthdir_y(80,direction-14),x + lengthdir_x(500,direction-1) ,y + lengthdir_y(500,direction-1)); draw_set_color(c_white); Draw GUI Event: execute code: draw_text(0,0,ammo) draw_text(64,0,mag) draw_text(128,0,weaponname) /* weapon = 0; ammo = weapon[weapon,1]; maxammo = weapon[weapon,2]; mag = weapon[weapon,3]; maxmag = weapon[weapon,4]; shottime = weapon[weapon,5]; reloadtime = weapon[weapon,6]; mindmg = weapon[weapon,7]; maxdmg = weapon[weapon,8]; weaponname = weapon[weapon,9]; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 20 Grudnia 2015 Udostępnij Opublikowano 20 Grudnia 2015 Jeżeli się nie mylę chodzi o to, że operację -1 dla amunicji (i wszystkie inne też) robisz na zmiennej ammo (podobnie z mag). Natomiast co step aktualizujesz wszystkie zmienne (ammo itp.) danymi z tablicy weapon[x,y] utworzonymi na początku - a tam zawsze masz 15. wywalenie ze stepu linijek: GML weaponn = 0; ammo = weapon[weaponn,1]; maxammo = weapon[weaponn,2]; mag = weapon[weaponn,3]; maxmag = weapon[weaponn,4]; shottime = weapon[weaponn,5]; reloadtime = weapon[weaponn,6]; mindmg = weapon[weaponn,7]; maxdmg = weapon[weaponn,8]; weaponname = weapon[weaponn,9]; chyba rozwiąże problem. Musisz tylko dać te linijki np. w create albo jakoś wywołać, ale tylko raz na początku (na końcu postu sugeruję też inne rozwiązanie). Oczywiście, gdy dodasz nową broń to przy ich zmienianiu musisz pamiętać żeby zaktualizować to co trzymasz w tablicy. Bo inaczej zmiana broni będzie przywracać pociski i magazynki. Ja bym sobie napisał dwa skrypty: pobierz_bron(tu_numer_broni) i aktualizuj_bron(tu_numer_broni). I przy zmianie np. z 1 na 2 dajesz: GML aktualizuj_bron(1) pobierz_bron(2) Możesz też mieć oczywiście jeden skrypt zmien_bron(stara_bron,nowa_bron), ale może wczytywanie danych określonej broni gdzieś Ci się przyda? Może planujesz np. sklep (ale wtedy tablica weapon raczej powinna być globalna). Ponadto ja bym też cały kod odpowiedzialny za utworzenie statystyk broni (czyli całą tablicę weapon) dał w innym obiekcie na początku gry a nie w create obiektu gracza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BloodDzioch Opublikowano 20 Grudnia 2015 Udostępnij Opublikowano 20 Grudnia 2015 Jak zrobić żeby obiekty losowo tworzyły się poza roomem? Najlepiej zaraz za krawędziami albo załóżmy 10-20 px za nimi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
H2S04 Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Jeżeli się nie mylę chodzi o to, że operację -1 dla amunicji (i wszystkie inne też) robisz na zmiennej ammo (podobnie z mag). Natomiast co step aktualizujesz wszystkie zmienne (ammo itp.) danymi z tablicy weapon[x,y] utworzonymi na początku - a tam zawsze masz 15. wywalenie ze stepu linijek: GML weaponn = 0; ammo = weapon[weaponn,1]; maxammo = weapon[weaponn,2]; mag = weapon[weaponn,3]; maxmag = weapon[weaponn,4]; shottime = weapon[weaponn,5]; reloadtime = weapon[weaponn,6]; mindmg = weapon[weaponn,7]; maxdmg = weapon[weaponn,8]; weaponname = weapon[weaponn,9]; chyba rozwiąże problem. Musisz tylko dać te linijki np. w create albo jakoś wywołać, ale tylko raz na początku (na końcu postu sugeruję też inne rozwiązanie). Oczywiście, gdy dodasz nową broń to przy ich zmienianiu musisz pamiętać żeby zaktualizować to co trzymasz w tablicy. Bo inaczej zmiana broni będzie przywracać pociski i magazynki. Ja bym sobie napisał dwa skrypty: pobierz_bron(tu_numer_broni) i aktualizuj_bron(tu_numer_broni). I przy zmianie np. z 1 na 2 dajesz: GML aktualizuj_bron(1) pobierz_bron(2) Możesz też mieć oczywiście jeden skrypt zmien_bron(stara_bron,nowa_bron), ale może wczytywanie danych określonej broni gdzieś Ci się przyda? Może planujesz np. sklep (ale wtedy tablica weapon raczej powinna być globalna). Ponadto ja bym też cały kod odpowiedzialny za utworzenie statystyk broni (czyli całą tablicę weapon) dał w innym obiekcie na początku gry a nie w create obiektu gracza. Zaraz sprawdzę jak coś edytuję... Dziwne jest to że w stepie wszystko działało w innych projektach :/ Nie na darmo też mam zmienną "weaponn" W niej będę zmieniał wartoś "x" tablicy :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 BloodDzioch: Całość okazała się bardziej zabawna niż mogłoby się wydawać. Najpierw zrobiłem proste rozwiązanie, w którym obiekt pojawiał się przy jednej krawędzi, ale szybko uświadomiłem sobie, że to nie uwzględnia małych prostokątnych przestrzeni przy rogach. Takie coś wymyśliłem, ale może jest jakiś prostszy dużo sposób (poza oczywiście losowaniem tak długo aż obiekt będzie poza ekranem - uznałem to za zbyt zasobożerne) najpierw stałe: szerokosc - szerokosc okna wysokosc - wysokosc okna krawedzx - jaka jest szerokość "paska" po bokach ekranu, w którym może pojawić się obiekt krawedzy - jaka jest szerokość "paska" na dole i górze ekranu, w którym może pojawić się obiekt obiektszer-szerokosc obiektu //potrzebne aby mieć pewność, że cały obiekt jest poza ekranem. obiektwys-szerokosc obiektu I teraz kod (aby zrozumieć dlaczego trzeba sobie narysować to na kartce - no dobra ja sobie musiałem narysować:). GML pasek=4*krawedzx+2*szerokosc+2*wysokosc-obiektszer //najpierw wybieramy, w którym "polu" pojawi się obiekt. xpoz=random_range(0, pasek); //Teraz ify. Tu trochę na logikę a trochę metodą prób i błędów if xpoz<=2*krawedzx+szerokosc-obiektszer {xost=xpoz-(krawedzx); yost=0-random_range(obiektwys, krawedzy);} if xpoz>2*krawedzx+szerokosc-obiektszer and xpoz<=2*(2*krawedzx+szerokosc-obiektszer) {xost=xpoz-(3*krawedzx+szerokosc)+obiektszer; yost=wysokosc-obiektwys+random_range(obiektwys, (krawedzy));} if xpoz>2*(2*krawedzx+szerokosc-obiektszer) and xpoz<=2*(2*krawedzx+szerokosc-obiektszer)+wysokosc+obiektwys {xost=0-random_range(obiektszer, krawedzx); yost=xpoz-2*(2*krawedzx+szerokosc-obiektszer)-obiektwys;} if xpoz>2*(2*krawedzx+szerokosc-obiektszer)+wysokosc+obiektwys {xost=szerokosc-obiektszer+random_range(obiektszer, krawedzx); yost=xpoz-2*(2*krawedzx+szerokosc-obiektszer)-wysokosc-2*obiektwys} instance_create(xost,yost,object1) Przygotowałem plik testowy. Wyłaczając ify fajnie widać, które obszary są zapełniane: https://www.dropbox.com/s/1kpmc6ntbyhkm2v/t...andom2.gmz?dl=0 I teraz tak, naprawdę nie wiem czy jest dobrze. Wygląda, że tak, ale nie dam sobie uciąć głowy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Jak zrobić żeby obiekty losowo tworzyły się poza roomem? Najlepiej zaraz za krawędziami albo załóżmy 10-20 px za nimi. Najszybsze rozwiązanie to tworzenie obiektów przy pomocy lenghtdira od środka ekranu o długości room GML instance_create(room_width/2+ lenghtdir_x(random(360), room_width/2), room_height/2+ lenghtdir_y(random(360), room_height/2), o_enemy) //Pisane z głowy. Penwie pomyliłem argumenty Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Odnośnie tego sposobu, który podałem wcześniej - wydaje mi się, że jest w nim pewna słabość. krawedzx i krawedzy powinny być takie same bo inaczej gęstość umieszczenia obiektów po bokach oraz na górze i dole będzie zaburzona. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BloodDzioch Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 hgter@ Ło kurde, szczerze powiedziawszy to byłem pewien że jest jakaś prosta funkcja na tworzenie poza ekranem o której zapomniałem i ktoś przypomni :P No jak widać niekoniecznie, dlatego tym bardziej dziękuje za pomoc i Tobie i Threefowi. Spróbuje jednak na początku z patentem Threefa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Spróbuje jednak na początku z patentem Threefa. Nie dziwię się:) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Sposób Threefa jest w miarę dobry, ale jego słabością jest to, że obiekty nie będą pojawiać się w tej samej odległości od krawędzi rooma. Natomiast "gęstość" pojawiających się obiektów będzie stała, co jest plusem. Metoda hgtera jest bardziej wiarygodna (obiekty pojawiają się zawsze w tej samej odległości od krawędzi), ale im bliżej rogów ekranu, tym więcej będzie stamtąd pojawiać się obiektów. Swoją drogą, tę metodę można skrócić: GML if(random(room_width+room_height)<room_width) instance_create(random(room_width),-20+(room_height+2*20)*choose(0,1),obiekt) else instance_create(-20+(room_width+2*20)*choose(0,1),random(room_height),obiekt) Liczba 20 oznacza liczbę pikseli od krawędzi, można ją przypisać do zmiennej i dowolnie zmieniać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BloodDzioch Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Bardziej zależy mi na równomierności niż na tym żeby tworzyły się koniecznie 20px od krawędzi. Po prostu nie chciałem żeby latały mi jakieś obiekty dziesiątki pikseli poza roomem. Obczaiłem sposób Threefa, była literówka :P ale poza tym obiekty tworzyły się po parędziesiąt pix od środka czyli mniej więcej w połowie rooma (obstawiam że trzeba było zmienić dzielnik, czy coś takiego). Nie rozkminiałem tego bo obczaiłem sposób Amaterasu. Tutaj działa, jednak nie jest równomiernie. Większość obiektów tworzy się w rogach (oczywiście plus minus). Rzuca się w oczy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 if(random(room_width+room_height)<room_width) instance_create(random(room_width),-20+(room_height+2*20)*choose(0,1),obiekt) else instance_create(-20+(room_width+2*20)*choose(0,1),random(room_height),obiekt) Mimo, że w takiej formie nie do końca pokrywa się z tym co jest u mnie, to ten zapis jest naprawdę świetny! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Metoda Threefa powinna działać w następującej formie: GML angle=random(360) distance=sqrt(sqr(room_width/2)+sqr(room_height/2))+offset instance_create(room_width/2+lengthdir_x(distance,angle),room_height/2+lengthdir_y(distance,angle),obiekt) //poprawka offset oznacza minimalną odległość, jaką może mieć pewien punkt na okręgu do pewnego rogu ekranu - przyjmując wartość 0, okrąg, na którym będą pojawiać się obiekty, będzie styczny do prostokąta, jaki tworzy room. Im większy offset, tym dalej będą się pojawiać obiekty. @hgter: miałem z tym do czynienia tak często, że takie rzeczy pisze się instynktownie : > Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hgter Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Tam w ostatniej linijce jeszcze chyba powinno być wyśrodkowanie? GML angle=random(360) distance=sqrt(sqr(room_width/2)+sqr(room_height/2))+offset instance_create(room_width/2+lengthdir_x(distance,angle),room_height/2+lengthdir_y(distance,angle),obiekt) miałem z tym do czynienia tak często, że takie rzeczy pisze się instynktownie : > Ehh, liczę, że też takiej lekkości z czasem nabiorę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 taa, powinno być Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
BloodDzioch Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Działa jak złoto :D Mam jeszcze takie pytanie: Da się polepszyć jakość losowość w gmie? Już po kilku minutach mam wrażenie że obiekty pojawiają się schematycznie. Nie było by nic złego w tym, gdyby nie to że to widać...i to po niedługim czasie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 21 Grudnia 2015 Udostępnij Opublikowano 21 Grudnia 2015 Komputery nie potrafią losować liczb. Poczytaj o tym. ;) Być może wyciągasz liczby losowe rzadko dlatego widzisz że się powtarzają, bo tak jest. Jeżeli nie użyjesz funkcji randomize() to liczby będą zawsze takie same przy każdym włączeniu gry. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się