Skocz do zawartości

Znów ten bot


Muchaszewski

Rekomendowane odpowiedzi

Mam kolejny problem moja ryba pływa w wodzie i nie chce by z niej wypływała próbowałem zrobić tak

GML
w step

 

if !place_meeting(x,y,woda)

{

direction = -direction

}

ale coś mi nie wyszło i wylatuje z wody a potem lata jak opętana

zasada działania bota tu przykład Rewlisz-aPobierz

Odnośnik do komentarza
Udostępnij na innych stronach

kurde czlowieku jesli nie chcesz zeby obiekt opuszczal room daj na krawedzi niewidoczny obiekt po kolizji z ktorym ryba zmieni kierunek na przeciwny, albo niech ryba sprawdza czy x>0 (jesli x jest mniejsze niz 0 to znaczy ze jest poza plansza w lewo) i x<room_width (jasli x jest wieksze niz r_w to ryba poszla se poza prawa krawedz)...

 

aaa i jeszcze jedno: czy jesli zrobisz ptaka to zrobisz mu tez powietrze zeby mogl latac?

Odnośnik do komentarza
Udostępnij na innych stronach

Copoconaco: A po cholerę robić masę zbędnych obiektów :P ?

 

@Topic: Naucz się znajdować błędy...

Robisz taki bajer, że jeśli to place_meeting() zwraca 1, to ustawia zmienną global.test na 1, a jeśli zwraca 0, to ustawia tą zmienną na... no zgadnij...?

 

W ten sposób przetestujesz, czy kod zmiany kątu w ogóle się wykonuje, czy funkcja place_meeting działa jak należy.

Uruchamiając grę w Debug Mode i klikając na taki zielony plusik możesz dodać zmienną, która ma być "sprawdzana".

 

I kolejno, jeśli:

a) Zmienna global.test będzie działać, jak należy, tzn zieniać swoją wartość w odpowiednim momencie, to znaczy, ze funkcja place_meeting jest OK. Więc problem musi tkwić w twoim "direction = -direction"

B) Zmienna global.test będzie zawsze miała taką samą wartość, to znaczy, że musisz użyć innej funkcji.

 

I na koniec rada:

direction = kąt. Może posiadać wartości od 0 do 359.999... . Co prawda GM uznaje kąty mniejsze niż i większe niż 360, ale tak po prostu nie powinno być - utrudnia to wszelkiego rodzaju "obliczenia"

vspeed = prędkość w pionie

hspeed = prędkość w poziomie

speed = ogólna Redkowic bohatera.

 

Te wszystkie 4 zmienne są od siebie "uzależnione". Jeśli nadasz obiektowi speed = 10 i direction = 17.3, to zmienne hspeed i vspeed odpowiednio zmienią swoje wartości.

 

A teraz biorąc pod uwagę to, co napisałem, sprawdź działanie swojego kodu.

 

PS: A jakbyś i tak nie znalazł błędu, to sprawdzaj w Debug Mode wartość zmiennej direction ryby...

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...