Lavi Posted May 28, 2006 Report Share Posted May 28, 2006 Chce zrobić taki ruch by po jednym naciśnięciu klawsza postać poruszyła się sama o 32 pixele z określoną i stała predkością.Próbowałem coś zrobić ale nie wychodzi. Oto co wymyśliłem: [code=Delphi] procedure Move(nr,dir:byte); begin PL[nr].TEMP := 1000; VY[oY[YVHZzH[ZCB5DU2Ł3#Ć7Ś&&ż7pś%drŁG'VSźźŃĄ4)A1mt%I // zapisanie obecnego kierunku (nieważne) Repeat if PLKSTHK[HoY[YH]HYHŚV7FbGŚR&FĆV&Vv66RFźźŹÓŃążności od kierunku 1: Dec(PL[nr].X); 2: DeĘKJNB[ĘK NB [ĘVćCFV2ś%5DU2FVŚŹ4(%ĄA1mt9%4źźŃąŃcji PL[nr].TEMP := 1000; // zeruj opuźnienie eBTŃUÓSTBXĘKST NZ[ĆćVćPbś%2FVś%ŁźźŃ4(źź94(A1mtMQALŃĄ/ jeśli nie ma więcej kroków to begin PL[nr].MOSH[N]Z Y]oJCBKSSHHN]]ZYg67Pś%5DU2W7FrĆ7Ś&R&ż7rććWvćRVćCVFś%5DU2ŚVćC\0 [/code]Niech mi ktoś pomoże to przerobić. Postać zapiernicza jak [b]nie normalna a licznik TEMP zmiejsza sie tylko o 1.Bawiłem się z tym ale nic nie daje. Może ma ktoś gotowy algorytm do takiej rzeczy. POMOCYZ góry dzieki Link to comment Share on other sites More sharing options...
DarkAndrew Posted May 28, 2006 Report Share Posted May 28, 2006 [code=Delphi] if PL[nr].TEMP = PL[nr].Lvl then#zgwjHŁ8,\" Ę;'i)zhkr)dŁ^X7Ś+r'źŁć-jz9b)ł;ś)O.zLC,*hZzX.zęl0yo'zZa[[KT [/code] [b]pozatym.STEPS = 0 then // jeśli nie ma więcej kroków to begin PL[nr].MOVING := false; // ustaw postuj (nieważne) PL[nr].ANIM := 1; // ustaw postaw w miejscu //PL[nr].STEPS = 0; // ustaw liczbe kroków na 0 (nieważne) end;[/syntax:c06b88a207]to daj za pętlą, będzie lepiej(oczywiscie usuń if) "Może wam pomoge, może nie, może pierdolcie w dupę się"-prof. Jarząbek Link to comment Share on other sites More sharing options...
5corpio Posted May 28, 2006 Report Share Posted May 28, 2006 Ja proponuje dać zmienną pomocniczą, która określa ile jeszcze tych mini przejść zostało i co takie przejście dodawać trochę do pozycji X,Y. I jak ktoś wciśnie przycisk do ruchu to przypisujesz do niej np. 20 albo 50 i potem sprawdzasz czy ta zmienna jest > 0 jeśli tak to przesuwasz o pare px w danej osii i zmniejszasz po trochu tą zmienną pomocniczą. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link to comment Share on other sites More sharing options...
Lavi Posted May 28, 2006 Author Report Share Posted May 28, 2006 Ok zmieniłem i teraz jest lepiej.Ale petla przelatuje bez efektu tak jakby jej wogóle nie było nie wiem czemu ???[delphi][/delphi]Nie wiem czemu ale pętla tylko raz przechodzi tak jakby warunki zakończenia pętli były by spełnione a nie są. Przecież STEPS jest równe 32. Nie rozumiem tego ni w ząb. POMOCY Link to comment Share on other sites More sharing options...
5corpio Posted May 28, 2006 Report Share Posted May 28, 2006 blehhh nie możesz robić pętli, która będzie przesuwać gracza bo wszystko inne nie będzie sie wykonywać nie ? Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link to comment Share on other sites More sharing options...
Lavi Posted May 28, 2006 Author Report Share Posted May 28, 2006 Dzieki - już działa tylko mam jeszcze jeden problem jak to zrobić żeby wmiare jak wzrasta poziom postaci porusza się ona szybciej.Kod wygląda tak: [code=Delphi] procedure MoveChr; var nr : byte; begin for nr := 1 to BYKSSHYH[BY[BXĘKbś%DT\"FV&Vv66Rś%%I4(ĄA1mt`4(ĄA1mtY,4); 3: Inc(PL[nr].X,4); 4: Inc(PL[nr].Y, NB[BXĘKTĘNBKSTŁ3bś%5DU2RFV2ś%A1mtMQALŃĄ%9ĄA1mt9%44(4(PL[nr].STEPS = 0 then begin PL[nr].MOVING := falNBKSSHHNB[B[B[B [/code]Jeśli by ktoś na coś wpadł niech da znać. Z góry dzięki Link to comment Share on other sites More sharing options...
5corpio Posted May 29, 2006 Report Share Posted May 29, 2006 Wpakuj sobie do klasy, rekordu postaci zmienną określająca prędkość postaci i co poziom możesz ją zwiększać. Tylko w tym momencie musisz obliczać dodatkowo ile przejść musisz wykonać by wyszło razem te 32px czy ile tam chcesz. Bo jak nie zmienisz ilości kroków to wraz ze wzrostem prędkości będzie Ci się wiecej postać przesuwać.Tylko jeszcze jedna rzecz: pamiętaj, że jak postać znacznie przyśpieszy to animacja może nie pasować ładnie do rzeczywistości więc przydało by się ew. zrobić możliwość zmiany prędkości animacji. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link to comment Share on other sites More sharing options...
Lavi Posted May 29, 2006 Author Report Share Posted May 29, 2006 Dzieki już nawet sobie poradziłem sam. Poprzestawiałem to i owo. Teraz jest super ale dzięki za pomoc z tym małym błędem.Raczej już nie bede miał pytań do tego tematu. Raczej Dzienk's FOR ALL Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.