ALT Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 Co w tym kodzie jest złego? Kiedy uruchamiam grę , gra się zawiesza... GML { for (yy=choose(288,256,224,192,160); yy<470; yy+=32) instance_create(xx,yy,oCube) if yy>=470 { xx+=32 event_user(0) break } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 A gdzie są nawiasy klamrowe przy bloku kodu występującym pod pętlą for? Inaczej instrukcja break nie ma żadnego sensu. Podobnie warunek przy ifie. Kolejna ciekawostka: GM wymaga, przynajmniej zawsze wymagał, trzech średników przy pętli for. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 25 Lutego 2012 Autor Udostępnij Opublikowano 25 Lutego 2012 Dodanie nowego średnika nie pomogło, a break nie ma tu nic do rzeczy(sprawdzałem). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 A nawiasy klamrowe wstawiłeś? W dodatku samo "event_user( 0 )" wiele nie mówi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 a nie przypadkiem wybiera yy, przelatuje fora i znowu wybiera yy i tak w kolko? :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 25 Lutego 2012 Autor Udostępnij Opublikowano 25 Lutego 2012 Ten kod to event_user 0. Może dlatego się kraszuje? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 jesli tak, to po zakonczeniu fora zaczynasz drugiego fora Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 25 Lutego 2012 Autor Udostępnij Opublikowano 25 Lutego 2012 Poprawiłem: GML { for (yy=choose(288,256,224,192,160); yy<470; yy+=32;) instance_create(xx,yy,oCube) if yy>=470 and !xx>=608 { xx+=32 event_user(0) } } Nie zwiesza się, ale nie działa tak jak powinien Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 Kolejna ciekawostka: GM wymaga, przynajmniej zawsze wymagał, trzech średników przy pętli for. zawsze używałem dwóch średników i wszystko śmigało. również w starszych wersjach GMa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 jak powinno dzialac? :D e: w for jest tylko yy, zmienna yy jest tylko w forze, w forze wykonuje sie tylko instance_create Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 Dawno w GM nie siedzialem ale wdł mnie powinno być: GML { for (yy=choose(288,256,224,192,160); yy<470; yy+=32) instance_create(xx,yy,oCube); if (yy>=470 && !xx>=608) { xx+=32; event_user(0); } } jeżeli if jest poza pętlą lub jeżeli w tej pętli ten if ma być to napisz: GML { for (yy=choose(288,256,224,192,160); yy<470; yy+=32) { instance_create(xx,yy,oCube); if (yy>=470 && !xx>=608) { xx+=32; event_user(0); } } } Przypomnijcie czy w GM bylo trzeba dawac na koncu sredniki. ; p I daj errora jaki ci wyskakuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 zawsze używałem dwóch średników i wszystko śmigało. również w starszych wersjach GMa. Mnie nie. Nawet zawsze uczyłem, że jest inaczej niż w innych językach. Zaraz to sprawdzę :P . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
taxi_driver Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 Po co ten srednik na końcu? wyglada to conajmniej dziwnie. Ja niedawno szukalem petli nieskonczonej i wstawiajac do petli while wartosc true tez doznawalewm zawiechy....az doszedlem do wniosku ze ... slusznie. Program w GM teoretycznie nie idzie po kolei i nie zatrzymuje sie jego wykonywanie na petli for... on do niej wraca co chwile wiec wraca i wykonuje kolejny raz i kolejny i kolejny ... nie konczac poprzedniej petli..... Tak przynajmniej wykumalem w evencie STEP. Rozwiazanie? wstaw po prostu flage if flaga then { twoja petla { } flaga=false } dzieki czemu twoja petla wykona sie tylko raz. Moge sie mylic ale chce pomóc :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 A sprawdz czy deklarowałeś istnienie "xx", bo zauwasz ze go nie ma. ; p Taxi@ Ty wiesz do czego ogulnie są średniki? Jak byś pisał w innych językach to byś wiedział, gm może patrzy na kolejną linię, ale lepiej zawsze ten średnik dać, rzeby nie było ew. problemów i on nie wygląda dziwnie, tylko jasno określa koniec pewnego działania. I jescze poco mu kur* pętla która wykona się raz, pętla jest poto aby wykonywać coć wielokrotnie w ciągu jednej klatki i poto ona jest. O.o. wdł. ciebie poco jest pętla? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 25 Lutego 2012 Autor Udostępnij Opublikowano 25 Lutego 2012 @Bluks: Działa tak samo jak mój A kod miał generować kolumny oCuba losowej wysokości do końca room'u, a generuje tylko jedną! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 A gdzie kod z xx? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 25 Lutego 2012 Autor Udostępnij Opublikowano 25 Lutego 2012 W create: GML xx=0 event_user(0) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 A jak generator to spoko, sam tera z generator się bawie.; p. zara ci to rozkminie i przerobie na GML. ew. przerobie komentarz. ; ) weś odpal gierke i sprawdz w specjalnym okienku (chyba z tego co pamiętam to zamiast zielonej to czerwona strzałeczka), gdzie pokarze ci ilość obiektów, bo wydaje mi się, że ty je masz tylko, że ci generuje jeden na drugim, bo pozycja xx w pętli jest stała, zrub, aby np. za karzdym razem dodaławło nie tylko yy+=32, ale i xx+=32 wynik jeszcze nie ten, ale będzie pewność, że na siebie nie włążą. ; p. To ma generować jedną kpt ma kolumne o wysokośći, jakiejś, czy ten skrypt ma generować kolumny losowej wysokości do końca prawej strony, bo zauważ, że on robi chyba tylko jedną z daną wyskokością, jeżeli, nie zatrzymujesz pętli, po końcu stepa, to daj, żeby dawało ci plus 32 na końcu stepa, a nie w pętli to będzie ci to w kułko robić, i daj if'a, jeżeli xx jest większy od szerokości ruma wtedy nie rub pętli, zaraz ci to spisze. ; ) kurcze zara zainstaluje GameMakera i wyślesz mi kawałek plika. ok? tylko na PW. Ja puki co to pisze z pamięci. ; p EDIT2: sprubuj tak: GML for (xx=0;xx<room_width;xx+1) { for (yy=choose(288,256,224,192,160); yy<470; yy+=32) { instance_create(xx*32,yy,oCube); } } I pisz co ci nie pasi, albo na PW wyslij plika to będę wiedział, co konkretnie potrzebujesz, ew dawaj na GG jak masz. ; p możecie mi przypomnieć poco ten event_user(0) do generowania tego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 A kod miał generować kolumny oCuba losowej wysokości do końca room'u, a generuje tylko jedną! GML var yy; yy=0 for(i=0;i<=room_width/32;i+=1){ yy=irandom_range(0,iles_tam)div 32*32 instance_create(i*32,yy,oCube) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 To generuje kolumne stałej wysokości(kolumny), na losowej wysokości(pozycji), a mu chodzi raczej, o kolumne losowej WYSOKOŚCI(kolumny), do końca rooma. ALT@ Stary odpisz. ;p Bo ta niewiedza mnie dobija, a to prościzna. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 25 Lutego 2012 Autor Udostępnij Opublikowano 25 Lutego 2012 Jutro ci wyśle,dziś już nie moge (pisze z tableta) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 GML for (xx=0;xx<room_width/32;xx+1) { for (yy=irandom_range(5,9); yy<=15; yy+=1) { instance_create(xx*32,yy*32,oCube); } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 karol wlasnie mu podobne wyslalem. xD. Jak by co gotowiec: http://www.megafileupload.com/en/file/3417...aALTa-gm81.html (sprawdzone na avast i mcafe) tylko zauwarz karol, że twój tworzy kolumny, o wysokości 15 - wartość losowa. ; p Sprawdzałem i jakoś tak mi wychodziło. EDIT2: mój sam kod w Create GML xx=0; yy=0; max_yy=0; for (xx=0;(xx*32)<room_width;xx+=1) { max_yy=round(random_range(1,5));//5 to maksymalna wysokość kolumny, a 1 to minimalna for (yy=0; (yy*32)<(max_yy*32); yy+=1) { instance_create(xx*32,room_height-yy*32,oCube); } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 25 Lutego 2012 Udostępnij Opublikowano 25 Lutego 2012 wysokosc 15*32=480=wysokosc rooma domyslna Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 26 Lutego 2012 Autor Udostępnij Opublikowano 26 Lutego 2012 @bluks: Działa, ale chciałbym wiedzieć czemu w moim kodzie generowanie nie przechodziło do przodu tylko generowało jedno na drugim? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bluks Opublikowano 26 Lutego 2012 Udostępnij Opublikowano 26 Lutego 2012 Spoko.Jutro jak na kompa wejde(jeśli), to ci to dokładnie wytłumacze na PW, lub forum. ; ) I sorry, że tak późno, ale dziś czasu, żeby na kompa wskoczyć nie miałem. ;) 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ę