pablo1517 Opublikowano 20 Lipca 2007 Opublikowano 20 Lipca 2007 No więc tak, zrobiłem strzelanie z łuku, strzała przez 30 stepów leci prosto, a potem opada bodajże z gravity=0.3. Mierzyć można praktycznie w każdym kierunku, chciałbym w jakiś sposób obliczać trajektorię lotu strzały jeszcze przed jej wystrzeleniem (potrzebne mi to dla botów, by jakoś wyliczać im kont mierzenia z łuku). Ma ktoś jakieś genialne pomysły/wzory? ... Tymon xD?
PsichiX Opublikowano 20 Lipca 2007 Opublikowano 20 Lipca 2007 Chodzi o to że podajesz im odległość na jaką ma być wystrzelona strzała i z tego ma wyliczyć kąt??
Micanser Opublikowano 20 Lipca 2007 Opublikowano 20 Lipca 2007 Może spróbuj tak if direction < 90 direction=point_direction(x,y,OS.x,OS.y)+distance_to_object(OS)*L else direction=point_direction(x,y,OS.x,OS.y)-distance_to_object(OS)*L if direction > 270 direction=point_direction(x,y,OS.x,OS.y)+distance_to_object(OS)*L OS to obiekt do którego ma strzelać, L to dowolna liczba, zaleznie jaka bedzie ci potrzebna aby działało.
Tymon Opublikowano 20 Lipca 2007 Opublikowano 20 Lipca 2007 Najprościej? Stwórz nowy obiekt i: l = 0; while( place_free( x, y ) ) { l += 1; x += lengthdir_x( 1, direction ); y += lengthdir_y( 1, direction ) + gravity; } Czy coś podobnego. Rozumiesz zasadę?
Pieter Opublikowano 20 Lipca 2007 Opublikowano 20 Lipca 2007 widziałem właśnie tego przykład na 64digits.com
pablo1517 Opublikowano 21 Lipca 2007 Autor Opublikowano 21 Lipca 2007 Tymona sposob okazał się nie do końca ok dlatego, że grawitacja wciąż zwieksza siłę opadania, ale to nie był problem. Potem miałem jeszcze kilka ale wkońcu, to co tymon dał naprowadziło mnie na dobry sposób, zostaje teraz tylko taki mały wał... ponieważ przeciwnik może stać w różnych miejsach, trzeba to sprawdzać na każym directionie, by to nie trwało wieki dalem w loopa, i teraz jest loop by powtarzał się kod na kazdym direction az trafi, to troche wolne, udało mi się zoptymalizowac, ale i tak gra delikatnie się przycina na ten ułamek sekundy kiedy bot musi np strzelić w góre by strzała przeleciała nad scianą i trafiła typa ktory jest za nią. Dodatkowo chciałbym aby mierzenie brało pod uwagę strzał z mniejszą siłą, co daje mi nowego loopa a tego juz nie chce bo rozwolni gre :/
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ę