saper Opublikowano 7 Czerwca 2010 Udostępnij Opublikowano 7 Czerwca 2010 Jak zrobić losowanie między obiektami?, chodzi mi o coś takiego jak kostka.., że po naciśnięciu enter zaczyna się losowanie a po naciśnięciu spacji - koniec losowania i zostaje wylosowany obiekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piedro Opublikowano 7 Czerwca 2010 Udostępnij Opublikowano 7 Czerwca 2010 tworzysz animacje kostki 6 klatek każda to 1 ścianka Create: GML losuj=false Step: GML If keyboard_check(vk_enter) { image_index=chose(0,1,2,3,4,5) losuj=true } if keyboard_check(vk_space) and losuj=true { losuj=false image_speed=0 if image_index=0 {instance_create(x,y,obj1} if image_index=1 {instance_create(x,y,obj2} if image_index=2 {instance_create(x,y,obj3} if image_index=3 {instance_create(x,y,obj4} if image_index=4 {instance_create(x,y,obj5} if image_index=5 {instance_create(x,y,obj6} } //x - pozycja x obiektu //y - pozycja y obiektu //obj1 i 2 i 3... itd. - te twoje różne obiekty</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 twoj kod Piedro losuje numer obiektu zanim nacisniesz spacje. [create] GML loss = false; [step] GML if (keyboard_check_pressed(vk_enter) ) { if (!loss) { loss = !loss; } } if (keyboard_check_pressed(vk_space) and loss) { var numObj; numObj = choose(0,1,2,3,4,5,6); switch (numObj) { case 0: instance_create(...); break; case 1: instance_create(...); break; case 2: instance_create(...); break; case 3: instance_create(...); break; case 4: instance_create(...); break; case 5: instance_create(...); break; case 6: instance_create(...); break; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 Hunter, chyba zartujesz :D Jak juz, to: GML case 0: { instance_create(...) break } Moja propozycja: Create: GML los = 0 numer = -1 Step: GML if(los = 1) numer = choose(1,2,3,4,5,6) Key Press Enter: GML los = 1 Key Press Space: GML los = 0 switch numer { case 1: { instance_create(,,ob1); break} case 2: { instance_create(,,ob2); break} case 3: { instance_create(,,ob3); break} case 4: { instance_create(,,ob4); break} case 5: { instance_create(,,ob5); break} case 6: { instance_create(,,ob6); break} } numer = -1 : D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 Jak juz, to: GML case 0: { instance_create(...) break } nie bardzo rozumiem twojego toku myslenia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 9 Czerwca 2010 Udostępnij Opublikowano 9 Czerwca 2010 GML (step) if keyboard_check(vk_enter) losuj=true if keyboard_check(vk_space) losuj=false if losuj=true image_index=choose(0,1,2,3,4,5,6,7/*ilosc klatek w spricie*/) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 9 Czerwca 2010 Udostępnij Opublikowano 9 Czerwca 2010 @Hunter: nie wiem, jak u Ciebie, ale u mnie jesli dam taki kod: GML gr = choose(1,2) switch gr { case 1: show_message('nie'); break; case 2: show_message('tak'); break; } to jesli wylosuje 1, to wykonuje najpierw show_message('nie'), potem break. Jesli natomiast wylosuje 2, to najpierw wykonuje break, potem... Potem konczy petle. @TheMarcQ: a jesli sprite ma >16 image'ow? Lepiej uzyc: GML image_index = ceil(random(image_number)) Pomijam juz, ze chodzilo o wylosowanie obiektu, nie image_index. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 9 Czerwca 2010 Udostępnij Opublikowano 9 Czerwca 2010 @Hunter: nie wiem, jak u Ciebie, ale u mnie jesli dam taki kod: GML gr = choose(1,2) switch gr { case 1: show_message('nie'); break; case 2: show_message('tak'); break; } to jesli wylosuje 1, to wykonuje najpierw show_message('nie'), potem break. Jesli natomiast wylosuje 2, to najpierw wykonuje break, potem... Potem konczy petle. oO po pierwsze zmienna w gr w nawiasie, po drugie działa tak chyba tylko i wyłacznie u cb, u mnie pokazuje i show_message('tak'); i show_message('nie'); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 9 Czerwca 2010 Udostępnij Opublikowano 9 Czerwca 2010 Po pierwsze: nie musi byc w nawiasie. Po drugie: moze tylko u mnie. Odkad pamietam, nie widzialem switch bez osobnych klamr dla kazdego case. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 9 Czerwca 2010 Udostępnij Opublikowano 9 Czerwca 2010 https://gmclan.org/index.php?wiki=article&zm=141 bla bla bla Odkad pamietam, nie widzialem switch bez osobnych klamr dla kazdego case. Mało widziałeś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 9 Czerwca 2010 Filar Społeczności Udostępnij Opublikowano 9 Czerwca 2010 @Hunter: nie wiem, jak u Ciebie, ale u mnie jesli dam taki kod: GML gr = choose(1,2) switch gr { case 1: show_message('nie'); break; case 2: show_message('tak'); break; } to jesli wylosuje 1, to wykonuje najpierw show_message('nie'), potem break. Jesli natomiast wylosuje 2, to najpierw wykonuje break, potem... Potem konczy petle. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 9 Czerwca 2010 Udostępnij Opublikowano 9 Czerwca 2010 GML if( choose(0,1) ) show_message('nie'); else show_message('tak'); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 9 Czerwca 2010 Udostępnij Opublikowano 9 Czerwca 2010 Tymon, to byl tylko przyklad :/ A zreszta... Sprawdzilem i okazalo sie, ze jestem glupszy niz myslalem. Tak tez dziala. W kazdym razie, tak jest chyba wygodniej. 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ę