WojtekO Opublikowano 2 Września 2009 Udostępnij Opublikowano 2 Września 2009 Witam! W GM jest dostępna funkcja "create random", lecz niestety, pozwala na utworzenie tylko 4 obiektów. A ja potrzebuję, by po naciśnięciu na guzik, pojawiło się ich 5. Jak to zrobić? |Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 2 Września 2009 Udostępnij Opublikowano 2 Września 2009 Heh, poczytaj lepiej o gml, bo na klockach nauczysz się tyle czego i tak od nowa w gmLu sie uczyć bedziesz. póki co w odpowiednim miejscu daj "execute code" i tam wklej: GML instance_create(x,y,obiekt) wklej tyle razy ile potrzeba za obiekt podstawiając nazwe obiektyu. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WojtekO Opublikowano 2 Września 2009 Autor Udostępnij Opublikowano 2 Września 2009 No ok. ALe ja potrzebuję, żeby utworzyło się 5 losowych obiektów z sześciu możliwych... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 2 Września 2009 Udostępnij Opublikowano 2 Września 2009 Najprościej: instance_create(x, y, choose(obiekt1, obiekt2, obiekt3, ...)); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 2 Września 2009 Udostępnij Opublikowano 2 Września 2009 aha sorry, nie kojarzyłem funkcji klocka. więc zrób tak: GML //w evencie create 'execute code' rodzaj[0]=nazwaobjektu1; rodzaj[1]=nazwaobiektu2; ... rodzaj[n-1]=nazwaobiektun; //to tylko taki wzór dopasuj do swoich potrzeb //to poniżej daj tam gdzie chcesz tworzyć obiekty los=round(random(n)); instance_create(x,y,rodzaj[los]); PS> pisane z pamięci. @UP: Można i tak :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
copoconaco Opublikowano 2 Września 2009 Udostępnij Opublikowano 2 Września 2009 to juz lepiej zrobic GML switch(floor(random(xxxxxx)))// mozna walnac choose, np: choose(0,0,0,0,1,1,2) tak by pozycja 0 trafiala sie czesto a 2 raz na jakis czas { case 0:{instance_create(x,y,ob1);break;} case 1:{instance_create(x,y,ob1);break;} case 2:{instance_create(x,y,ob1);break;} case 3:{instance_create(x,y,ob1);break;} case 4:{instance_create(x,y,ob1);break;} case 5:{instance_create(x,y,ob1);break;} case 6:{instance_create(x,y,ob1);break;} case 7:{instance_create(x,y,ob1);break;} .... } ctrl+c i ctrl+v Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 2 Września 2009 Udostępnij Opublikowano 2 Września 2009 Źle. Wtedy 1 i ostatni obiekt mają 2x mniejsze szanse na pojawienie się niż te ze środka. A jak już się bawimy tak, to jak dla mnie lepiej: GML list = ds_list_create(); //Tworzymy liste obiektow, ktore mozna wylosowac ds_list_add(list, obiekt1); //Dodajemy do listy wsyztskie potrzebne nam obiekty ds_list_add(list, obiekt2); ds_list_add(list, obiekt3); ds_list_add(list, obiektn); ds_list_shuffle(list); //"przetasowujemy" liste - wszystkie pozycje w niej beda sie znajdowaly na losowych pozycjach instance_create(x, y, ds_list_find_value(list, 0)); //ds_list_find_value(list, 0) - ta funckja pobieramy pierwsza pozycje z naszej listy obiektow (a, ze jest ona juz przetasowana, to w praktyce pobieramy losowa jej pozycje)</span></span> Lepiej normalnie losując, ale tak (wydaje mi się przynajmniej, lol) łatwiej będzie to zrozumieć Wojtkowi... ^_^ A i nauczy się czegoś przy okazji (tzn. mam nadzieję =d) Ed: I jeszcze jedna wersja :P 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ę