Dexter12 Opublikowano 12 Grudnia 2008 Udostępnij Opublikowano 12 Grudnia 2008 Siemka próbuje sobie przypomnieć jak zrobiłem działko w starej swojej grze "The Moving' ale nie moge sobie przypomnieć. I Dlatego chciałbym się was zapytać jak zrobić takie coś: że jak obiekt(player) znajduje się w danej odległości od obiektu(działka) to ma sie wywołać jakaś akcja ? wiem że to powinna być instrukcja warunkowa if. ale jak to zrobić? EDIT: Wie ktoś może jak zrobić jeszcze odstępy po między tworzącymi się objektami? Chodzi mi o czas Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 12 Grudnia 2008 Udostępnij Opublikowano 12 Grudnia 2008 if distance_to_obiect(obj) <= ilosc pixeli { akcja } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 12 Grudnia 2008 Autor Udostępnij Opublikowano 12 Grudnia 2008 Wie ktoś może jak zrobić jeszcze odstępy po między tworzącymi się objektami? Chodzi mi o czas Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 12 Grudnia 2008 Udostępnij Opublikowano 12 Grudnia 2008 uzyc alarmu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 12 Grudnia 2008 Autor Udostępnij Opublikowano 12 Grudnia 2008 Jak? Dawno nie robiłem w game makerze to mógłbyś mi to wytłumaczyć? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 12 Grudnia 2008 Udostępnij Opublikowano 12 Grudnia 2008 Np. Create: alarm[0] = room_speed*5 Alarm0: instance_create(...) alarm[0] = room_speed*5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Phoenix Opublikowano 12 Grudnia 2008 Udostępnij Opublikowano 12 Grudnia 2008 GML //Create can=1; //Alarm [0] can=1; //Step if distance_to_object(player) <= np. 20 and can=1 { jakaś akcja na przykład strzelanie can=0; alarm[0]=10 } No i voala ( czy jakoś tak :P ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 A mam jeszcze pytanie: jaką liczbe wpisać żeby to strzelało jak karabin maszynowy?Probowałem rózne ale nigdy mi nie wyszło... PS. Była jeszcze jakaś inna funkcja niż ta którą wy podajecie.No i mi to nie chce zawsze strzelać :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 Najlepiej jakąś małą 1 lub 2. Ta liczba to liczba milisekund po której alarm się uruchomi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 Ale jak wpisze 1 to strzela wogule cały czas szybciej niz minigun. Nawet nie podlega instrukcji warunkowej if. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 To zmien sobie wartosc alarmu na odpowiadającą tobie i twojemu uznaniu szybkosci miniguna. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 No ale jak zmienie juz na 2 to strzela tak samo jak na 10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 Jeśli chcesz to zrobić "dokładniej", w sensie że dokładniej chcesz ustalić czas pomiędzy wystrzałami, zrób to na zmiennych np. GML //Create reload=0 //Step reload+=1 //czyli co step (domyslnie na sekunde ich jest 30) wartosc zwieksza sie o 1 //to poniżej* if(reload>=/*tu wstaw wartość np.*/2) { //akcja strzelania reload=0 } EDIT: Zapomniałem, ten warunek if(reload... wstaw w warunek if(distance...* Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 Nadal jest to samo :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 To niemożliwe, muszą być jakieś minimalne zmiany, nie może byc tak, że np. od wartości 1 do 5 strzela Ci za szybko, a od 6 wzwyż za wolno. Policz to sobie tak: 30 - prędkość rooma (domyślna) 2 - ilość stepów potrzebnych do spełnienia warunku 30/2=15 - tyle razy strzela na sekundę Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 Mógłbyś mi podać jakiś przykład bo robiłem to już z różnymi cyframi np. 100 jest nadal to samo... <_< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 To moze ty zarzuć nam swoim projektem bedzie łatwiej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 Nie podam wam całego bo planuje wydać gre :D Ale dam wam to co chcem zrobić czyli chodzący enemy. // Create hsp = 2 alarm[0] = room_speed*0.5 // Alarm 0 sound_play(enemy_shoot) instance_create(enemy_with_gun.x, enemy_with_gun.y,enemy_bullet) //Step if place_free(x+hsp,y) {x+=hsp} else {hsp = -hsp} if place_meeting(x+hsp,y,player) {hps = -hsp} if place_meeting(x,y-1,player) {player.x += hsp} if place_meeting(x+hsp,y,player2) {hps = -hsp} if place_meeting(x,y-1,player2) {player2.x += hsp} if distance_to_object(player) < 200 { alarm[0]=10 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 JA NIE MOGĘĘĘĘĘĘĘĘ! Chcesz, żebyśmy ci pomogli ze strzelaniem, a ty nam dajesz kod na wroga. Daj kod na strzelanie. Sorry, nie spojrzałem dokładnie na kod. Skoro masz 10 czyli strzela 10 razy na sekundę (10 milisekund=1/10sekundy). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 Ale coś wolno strzela :/ To na 100% nie jest 1/10 sekundy bo nie strzela tak szybko... Macie może jakieś inne rozwiązanie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 A no fakt, bo zrobiłeś tak, że w każdym stepie gdy warunek odległości jest spełniony ustawia alarm na 10. PhoenixPl podał Ci jak to zrobić, żeby nie robiło tego błędu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 Czyli musisz po prostu zabezpieczyc sie zmienna, aby alarm nie był co chwile ustawiany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 13 Grudnia 2008 Udostępnij Opublikowano 13 Grudnia 2008 Można to lepiej zrobić, ale żeby nie mieszać Ci w kodzie to: GML if distance_to_object(player) < 200 { if alarm[0]=-1 alarm[0]=10 } Bo tak jak Ty miałeś, to przy odległości mniejszej niż 200 px alarm wynosił ciągle 10 i się nie odliczał ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dexter12 Opublikowano 13 Grudnia 2008 Autor Udostępnij Opublikowano 13 Grudnia 2008 Dzięki chłopacy wszystko działa! :) 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ę