Mam pare problemikow. Dla Was to jednak pestka...

0

Pisze gre 3d. Tak, jak w wielu grach fpp, np. w quake'u 3, koles im czesciej podskakuje w biegu, tym dalej skacze i szybciej sie porusza.
moj problm polega na tym, ze to co powyzej dziala swietnie, dopoki sie nie pusci vk_up, czyli szczała do przodu :). To nie wszystko :(. Powyzsza proba odzwierciedlenia zachowania masy w ruchu niejednostajnym prostoliniowym (uzylem calkowania iteracyjnego, wiec jesli KTOS zna odpowiedz, prosze to jakos dopasowac...) spala sie na panewce, gdy ktos skacze nad przepascia. wyglada to tak, ze biegniesz, biegniesz, skaczesz nadal biegnac, skaczesz pare razy w biegu i sie pojawia dziursko. zgrabnym ruchem gazeli probujesz je przeskoczyc, lecz tuz nad nia przyciaganie sie zwieksza, a energia kinetyczna ciala bardzo nagle wynosi zero. to wyglada mniej wiecej tak, jak na kreskowkach.

Prosba.
w miare mozliwosci, jesli tylko sie da - prosze dopasowac to do calkowania iteracyjnego.

Prosba II.
jesli nie znasz odpowiedzi - prosze nie pisz.

z gory dzieki za odpowiedzi i wskazowki

pb.no.

===
poniewaz jestem modemowcem, pisalem to offline i myslalem, ze umieszcze to w osobnych tematach, ale BARDZO MNIE WNERWIA to, co sie ostatnio dzieje, czyli kolo 350 nowych tematow!!!
postanowilem wiec, ze oba problemy opisze w jednym temacie. oto drugi.

Registers or unregisters an autohide appbar for an edge of the screen. The system allows only one autohide appbar for each edge on a first come, first served basis.

fSuccess = (BOOL) SHAppBarMessage(ABM_SETAUTOHIDEBAR, pabd);

Parameters

pabd

Pointer to an APPBARDATA structure. The uEdge member specifies the screen edge. The lParam parameter is set to TRUE to register the appbar or FALSE to unregister it. You must specify the cbSize, hWnd, uEdge, and lParam members when sending this message; all other members are ignored.

Return Values

Returns TRUE if successful or FALSE if an error occurs or an autohide appbar is already registered for the given edge.

=============
to wszystko bylo w helpie, ale jak tego uzyc???

0

hm......

zwolnij : Ttimer;

No patrz napisz procedure

a no taką:
(procka w public!!!!!!!!)

procedure TForm1.zwalniaj(szybkosc : integer);
begin
zwolnij.enabled := true;
end;

ontimer:

interval daj np na 100
begin
i np. lub szybkosc := szybkosc - 1;
szybkosc := szybkosc div 2;
porusz_postac(szybkosc); /opcja poruszania posatci
if szybkosc =&lt 5 then
begin
szybkosc := 0;
timer1.enabled := false;
nie ruszam sie
end;
end;

i raczej problem z głowy tylko jak masz onkey up to wpisz tam pomiędzy begin a end;

begin
zwalniaj(get_postac_szybkosc); //no tu get_postac_szybkosc - to rozumisz o co chodzi
end;

Jezeli nie działa daj znać a ja napiszę w pełni działający kod!

Pozdro ZIOMBER

0

jeżeli chodzi o grawitację to: zmniejszaj ją powoli (jak skoczyłeś) - lub po prostu zmniejsz swoją grawitację............. twoj swiat jest na pewno nie wymiarowy wiec jezeli uzyles przeciazenia 10 g to........

no wisz :) ja napisałem wyżej jeżeli cuś odpisz a ja napiszę działający kod :) a ty go se przetegowujesz...

0

Nooooooo tak. Timer to rzeczywiscie po prostu swietny komponent! :) sory, ale timer zwalnia i przyspiesza, nawet na szybkich kompach. Nie wiem dlaczego, ale to zalezy o... ruszania mysza :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0