sazian Napisano Kwiecień 15, 2006 Zgłoś Share Napisano Kwiecień 15, 2006 [b]podiołem drugą próbe nauki obsługi Omegi.przeczytałem arty i napisałem własny program("gre" ) podobną do opisanej ty http://www.unit1.pl/129,4,podglad.html i mam taki problem jak zrobić kilku poruszających się wrogów.program od poruszania napisałem tylko jak chce żeby po zniszczeniu 1 wroga pojawiali się 2 jeden stoi w miejscy a drugi porusza się 2 razy szybciej Link do komentarza Udostępnij na innych stronach More sharing options...
Kezard Napisano Kwiecień 15, 2006 Zgłoś Share Napisano Kwiecień 15, 2006 A od czego masz pętle ? Jedziesz pętlą przez wszystkich wrogów i poruszasz się o n-prędkosć w n-kierunku. Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Kwiecień 15, 2006 Autor Zgłoś Share Napisano Kwiecień 15, 2006 mo właśnie ja to w pętli for zrobiłemcoś w tym stylu [code=Delphi] for i:=1 to x do wrog.tworzy_wroga; [/code]i jeden stoi w miejscu a drugi zasuwa jak szalony Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Kwiecień 15, 2006 Zgłoś Share Napisano Kwiecień 15, 2006 to zacznij w pętli od 0 może dlatego ten drugi stoi bo ma indeks 0 ! ?Pozatym ciężko stwierdzić po tylko takim opisie. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Kwiecień 15, 2006 Autor Zgłoś Share Napisano Kwiecień 15, 2006 procedura tworząca wroga [code=Delphi] procedure TWrog.tworz_wroga(x,y:integer); begin wrog:=TWX]JLKYYT]LJNBYYLKYYR[XYĆ7CvTĆ7BFV5łvUvGFw&rVvCŁf&ÓV%1%1%Ńlt%!Ą4)%1.OmegaImageList1.ImageList.Items[1]; wrog.X:=x; wrog.Y:^NBB[]YNB^[X]YNBBćCJ%8 k:hr+$zZaBYH[]N]N6FVvW\"f ŚŚFVvW#Ś&VvŚb7&FR2DąŃĄ4)4)4)Ń4)Ą4)to poziom do //i tu sie zaczyna to co nie działa wrog.t[J JMKMMJNBB[B[B3Ł9zyZjYui' var poziom:integer=1; [/code]no i to chyba wszystko co jest potrzebne Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Kwiecień 15, 2006 Zgłoś Share Napisano Kwiecień 15, 2006 No tak ale musisz jeszcze sobie gdzieś wcisnąć procedurę, która będzie co klatkę "przelatywać" przez wszystkich wrogów i do X,Y dodawać jakieś wartości. Bo pokazałeś nam tylko tworzenie i wykrywanie kolizji a ruch masz ? Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Kwiecień 15, 2006 Autor Zgłoś Share Napisano Kwiecień 15, 2006 nooo mam takie coś[delphi][/delphi] Link do komentarza Udostępnij na innych stronach More sharing options...
oksal Napisano Kwiecień 15, 2006 Zgłoś Share Napisano Kwiecień 15, 2006 cze Sazian zerknąłem na Twoj problem. Do testów zaciągnąłem wspomniany art. Wada rozwiązania tkwi w niezbyt poprawnym wykorzystaniu programowania obiektowego. To inna filozofia niż strukturalne...o tym łatwo zapomnieć. Ale nie będę ojca uczyć dzieci robić:-)1.Obiekty jak tworzysz w pętlach twórz tak: [code=Delphi] procedure TWrog.tworz_wroga; var wrog : TWrog; i : inYBY[BNLH HB]X]JLK\"F&VvvGFŁf&ÓvTĆ7BFV5ł%vUŃ4(!Ą=%1%Ńlt%!Ą X := (100 * i) + 50; Y := 20; Image := form1.Omil.[XYS][NB[HYNB^[XG'VSe6W&4DVĆŁf6SVćCŚVćCjkĄł'^bpp&6VGW&REw&rfR67BfT6VC6ćvĆRŚ&VvŁ4)`ąŃĄ4)4((Ż7'! ózxvkĄźŚęh(Hu\"x)Ąw!ł)hŚŚĄho&ŚĄbł9<:śZŚ4(4)Q4)4(Ń4)4(źi5MQo śmierci //utwórz losowo dwoch wrogów if fSmiercOdKuli![BNLHB]X]JLKHVvŁ&ćFCłŁÓ3vGFŁf&Ó%1%Ńlt%]Ń4(!Ą=mageList.Items[2].ImageHeight; Image := form1.Omil.Imagg][NB[HYNB^[XH'VSe6W&4DVĆŁf6SVćCćW&FVBFVCŚVć@4(%'O 3&i[y{jG^bppEw&r6Ć72E7&FR&fFPe6W&4DVĆŚ&ĆV4(ą4(Ń}4(= ąą(const Sprite: TSprite; const colX, colY: Integer); overridnBYHXYYNBYH[J[PC6ćvĆRfW'&FSŚVćC [/code]flagę fSmiercOdKuli wprowadziłem tylko po to bo Ty w swoim rozwiązaniu uśmiercasz duszka jak dojdzie do krawędzi ekranu. Stad trzeba jakoś rozróżnić czy ojca zamordowano czy też zmarła śmiercią naturalną- wtedy nie ma zemsty. Może zamiast uśmiercać wroga jak dojdzie do krawędzi ekranu lepiej jest go przerzucić na przeciwną ścianę ekranu.No to tyle. Mam nadzieję ze to rozwiązało Twój problem pozdrawiam oksal Link do komentarza Udostępnij na innych stronach More sharing options...
sazian Napisano Kwiecień 15, 2006 Autor Zgłoś Share Napisano Kwiecień 15, 2006 a wiesz że działa Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.