kubos Opublikowano 20 Maja 2007 Udostępnij Opublikowano 20 Maja 2007 mam 2 pytania 1. Jak zrobić żeby obiekt poruszał się do góry(jeśli nie ma grawitacji). Takim sposobem jak np. w lewo to jest taki kod: if place_free(x-4,y) {x-=4} 2.Jak zrobić w wyścigówce aby samochód (obiekt) rozpędzał sie powoli a nie że od razu jedzie tak szybko? Z góry dzięki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Maja 2007 Udostępnij Opublikowano 20 Maja 2007 1. if place_free(x,y-4) {y-=4} 2.Event strzałki w górę speed += .1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 20 Maja 2007 Administratorzy Udostępnij Opublikowano 20 Maja 2007 1. oś x poziomo, oś y pionowo if place_free(x,y-4) {y-=4;} 2. rozpędzanie czyli zwiększanie prędkości prostoliniowo do czasu aż osiągnie wymaganą prękość (to sie nazywa przesterowanie i potem jest już nieliniowa praca :P jak we wzmacniaczu oprecyjnym) if speed<5 then speed+=0.5; edit Tymon był szybszy, ale drugie zadanie inaczej rozwiązałem :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Maja 2007 Udostępnij Opublikowano 20 Maja 2007 2. Można by i: speed = min( 5, speed + .5 ); ale kto na to patrzy?! xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 20 Maja 2007 Autor Udostępnij Opublikowano 20 Maja 2007 wpisałem ten pierwszy przykład Tymona(chodzi o rozpędzanie) no i jest ok, ale potem postać się nie zatrzymuje jak puszcze przycisk tylko jedzie dalej. Mam jeszcze jedno pytanie oprócz tego. Jak zrobić, żeby animacja była inna jak wciskam prawy przycisk a inna jak lewy itd. No i oczywiście nie działa się cały czas tylko właśnie wtedy gdy wciskam przycisk Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Maja 2007 Udostępnij Opublikowano 20 Maja 2007 Do daj friction = .1; jak przycisk nie jest wciśnięty, gdy jest friction = 0; EDIT if( keyboard_check( vk_left ) ) sprite_index = animacja_lewo; else if( keyboard_check( vk_right ) ) sprite_index = animacja_prawo; else sprite_index = animacja; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 20 Maja 2007 Autor Udostępnij Opublikowano 20 Maja 2007 ale to mam dać do tego?: speed += .1; czyli że ma być tak: speed += .1; friction = .1; A to drugie? friction = 0; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Maja 2007 Udostępnij Opublikowano 20 Maja 2007 Daj do step: if( keyboard_check( vk_up ) ) { speed += .1; friction = 0; } else friction = .1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 20 Maja 2007 Autor Udostępnij Opublikowano 20 Maja 2007 Dobra to z ropędzaniem jest już ok. Teraz nie wiem jak zrobić z tą animacją. Bo robię wyścigówkę no i samochód musi skręcać. Tymon napisał: if( keyboard_check( vk_left ) ) sprite_index = animacja_lewo; else if( keyboard_check( vk_right ) ) sprite_index = animacja_prawo; else sprite_index = animacja; ale jak mam oddzielić animację w prawo od animacji w lewo itd.? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Maja 2007 Udostępnij Opublikowano 20 Maja 2007 Zrobić sprity odpowiadające poszczególnym animacjom. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 20 Maja 2007 Autor Udostępnij Opublikowano 20 Maja 2007 a jak zrobić żeby ta animacja nie powtarzała się cały czas? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 Sorry, że odświerzam stary temat, ale nie widzialem sensu zakładać nowego, ponieważ w tym jest wszystko napisane co i jak. A więc mam pytanie apropo tego rozpędzania. Jak zrobić, że gdy obiekt uzyska speed załóżmy 10 to juz dalej sie nie rozpędza to jest jego maksymalna prędkość? Mam nadzieje że nie dostane za to warna :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Saus Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 if speed<10 { rozpedzanie } else speed=10 Cos w tym stylu taka blokada ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 @up gdzie to mam dać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
propaganja Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 @up gdzie to mam dać? Oh Jah.. tam gdzie masz akcje rozpedzania Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 // Obrót image_single = direction * image_number / 360; // Skręcanie if( keyboard_check( vk_left ) ) then direction += 4; if( keyboard_check( vk_right ) ) then direction -= 4; // Rozpedzanie if( keyboard_check( vk_up ) ) { speed += .1; friction = 0; } else friction = .1; if speed<10 { Rozpedzanie } else speed=10 Co tu jest nie tak że wyskakuje taki błąd: FATAL ERROR in action number 1 of Step Event for object auto: COMPILATION ERROR in code action Error in code at line 20: } at position 2: Assignment operator expected. ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mike_p Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 lol... // Obrót image_single = direction * image_number / 360; // Skręcanie if( keyboard_check( vk_left ) ) then direction += 4; if( keyboard_check( vk_right ) ) then direction -= 4; // Rozpedzanie if( keyboard_check( vk_up ) ) { if(speed<10) speed += .1; else speed=10; friction = 0; } else friction = .1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 Fakt. Nie myśle dzisiaj :D Dzięki. Zamykam temat. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 Sory za double posta, ale znowu mam kłopot. Bo dodałem żeby to samo było gdy gdy sie wciśnie przycisk w dół. I ten kod wygląda teraz tak: // Obrót image_single = direction * image_number / 360; // Skręcanie if( keyboard_check( vk_left ) ) then direction += 4; if( keyboard_check( vk_right ) ) then direction -= 4; // Rozpedzanie góra if( keyboard_check( vk_up ) ) { if(speed<10) speed += .1; else speed=10; friction = 0; } else friction = .1; // Rozpędzanie dół if( keyboard_check( vk_down ) ) { if(speed<5) speed += .1; else speed=5; friction = 0; } else friction = .1; I teraz jak przyciskuje strzalke w gore nic sie nie dzieje. Co tu zepsułem? :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Prze_As Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 2.Jak zrobić w wyścigówce aby samochód (obiekt) rozpędzał sie powoli a nie że od razu jedzie tak szybko? kod jest prosty , nie wpisujesz speed=np.5 km/h tylko speed+=1 km/h Aha i jeszcze jedno, jeśli nie chcesz być wyśmiany za to że jestes anty cool, używaj wartości w mph/h . Tak naprawde to teraz jest treendy, gdyż pochodzi z ameryki, a wszystko co pochodzi z U S A jest craazy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 OMG! Czy ty przeczytałeś cały temat?? Znam na to odpowiedź! Teraz mi chodzi o ostatnie posty. Daj se spokój z tymi trendami! <_< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Adster Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 if( keyboard_check( vk_down ) ) { if speed<5 {friction = 0 speed += 1} else {speed=5} } else {friction = 1} ...i trzymając się tej kolejności i zasady przepisał dla "up". :) if( keyboard_check( vk_up ) ) { if(speed<10) speed += .1; else speed=10; friction = 0; } else friction = .1; A tak w ogóle-to up i down to są dwa stopnie prędkości? Bo hamowanie to down to to nie jest. ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 Czyli jak to ma być? I jeszcze jedno, jak zrobić, że gdy samochód stoi to nie może się obracać? @up o_O rzeczywiście popieprzylem wszystko. Bo jak jest down to ma do tyłu jechać :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Adster Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 Czyli jak to ma być? I jeszcze jedno, jak zrobić, że gdy samochód stoi to nie może się obracać? if( keyboard_check( vk_left ) ) then direction += 4; if( keyboard_check( vk_right ) ) then direction -= 4; Dopisz tu tylko warunek if speed<>0 ;D i weź ten kod wyżej daj po warunku i go w klamry. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 czyli to ma być tak if speed<>0 { if( keyboard_check( vk_left ) ) then direction += 4; } { if( keyboard_check( vk_right ) ) then direction -= 4; } Napewno źle :( Nie moge tego zakapować :crying: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Adster Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 if speed<>0 { if( keyboard_check( vk_left ) ) then direction += 4; if( keyboard_check( vk_right ) ) then direction -= 4; } :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 Blisko byłem :D Ale to niestety działa tylko przy naciśnięciu klawisza w lewo, a prawo nadal kręci :boxed: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Adster Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 Zapomniałem-usuń te dwa średniki z kodu. :) Moje kopiowanie kodu z cudzych postów na zdrowie nie wychodzi. ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kubos Opublikowano 2 Sierpnia 2007 Autor Udostępnij Opublikowano 2 Sierpnia 2007 To nic nie dało :( w prawo nadal kręci Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Adster Opublikowano 2 Sierpnia 2007 Udostępnij Opublikowano 2 Sierpnia 2007 if speed<>0 { if keyboard_check(vk_left) {direction+=4} if keyboard check(vk_right) {direction-=4} } Musi działać. :) Nie ma siły, by było inaczej. 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ę