Dexarz Napisano Styczeń 9, 2008 Autor Zgłoś Share Napisano Styczeń 9, 2008 Zrobiłem ..wszystko działa (wszyscy wrogowie działaja na grawitacje ) ale jest kolejny problem ...Otóż jak jeden wróg już np. wylądował na stopniu (normalny ground) to reszta wrogów pomimo że ich na tym stopniu nie ma ,zachowują się tak samo jak ten co jest ...głupie to ..Czyli dzieje sie coś takiego ,ze jak 1 wróg coś zrobi to reszta wrogów robi to samo ...a to nie oto chodzi ... Dodatkowy problem to taki ,że tym więcej jest przeciwników to tym szybciej gra chodzi tzn ,wrogowie szybciej działają na grawitacje niż gracz ...A to też wiąże się z tym że wrogowie przez tą nadmierną szybkość spadania wbijają się w podłoże ,a czasami (przy dużej ilosci przeciwników) postacie tak szybo opadają że aż nie zdążą wpłynąć na kolizje i przez to spadają ciągle w dół ... Kody wam przedstawię jutro ,teraz muszę kończyć .. Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Styczeń 9, 2008 Zgłoś Share Napisano Styczeń 9, 2008 Pisz jak już masz kod, a nie że piszesz, że coś spróbujesz i powiesz czy działa, lub, że kod dasz później. Jak już spróbowałeś to pisz, jak masz już kod to pisz, bo co nam po Twoich postach. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 CYTATwrogowie szybciej działają na grawitacje niż graczNo to masz coś nie halo bo powinno działać tak samo. (chyba, że masz opór etc. i gracz ma mniejszą masę i stawia mniejszy opór to wtedy jest OK ale wątpie ) A co do: CYTATA to też wiąże się z tym że wrogowie przez tą nadmierną szybkość spadania wbijają się w podłoże ,a czasami (przy dużej ilosci przeciwników) postacie tak szybo opadają że aż nie zdążą wpłynąć na kolizje i przez to spadają ciągle w dółNo to rozwiązanie może być tak, że zakładasz przy wyliczaniu kolizji jakąś dodatkową tolerancję, która Ci pozwoli na pominięcie tego błędu tudzież chyba można to rozwiązać tak, że sprawdzasz ew. pozycję postaci w następnej klatce i sprawdzasz tam kolizję (tak mi się wydaje). Otóż jak jeden wróg już np. wylądował na stopniu (normalny ground) to reszta wrogów pomimo że ich na tym stopniu nie ma ,zachowują się tak samo jak ten co jestZ moich domyśleń polega to na tym, że znów masz gdzieś problem w ew. pętli i nie sprawdzasz stanu dla każdego z osobna wroga. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 Jeśli chodzi o wbijanie się w ziemie to polecam artykuły o SAT, bo tam nie tylko oblicza się kolizję, ale znając wektor przemieszczenia i szybkość, można przewidzieć za ile milisekund coś uderzy w jakąś rzecz Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 10, 2008 Autor Zgłoś Share Napisano Styczeń 10, 2008 Możliwe że sie pomyliłem ...Ale pytanie ,dlaczego tym więcej jest przeciwników to tym szybciej wrogowie spadają ???Dałem 2 wrogów i nie było tego widać ,dałem 40 wrogów ,to nawet nie zdążyłem ich zobaczyć bo byli po za mapą ... Oto kody : Wykrywanie kolizji (zmienna I nie jest zmienną a lokalna a to dlatego żeby w 2 miejscach tej samej zmiennej nie deklarować ..) procedure TEnemy.OnCollision(const Sprite: TSprite; const ColX, ColY: integer); begin If Window.ENYnum.Value>=1 then begin For I := 0 to EnList.Count -1 do begin If Sprite.Name='Block' then TEnemy(EnList.Items[I]).ColBlock:=true else TEnemy(EnList.Items[I]).ColBlock:=false; If Sprite.Name='ground' then begin If (TEnemy(EnList.Items[I]).Mode='Stand') and (TEnemy(EnList.Items[I]).GravityEnemy=true) then TEnemy(EnList.Items[I]).ImageIndex:=0; If (TEnemy(EnList.Items[I]).Mode='jumpR') and (TEnemy(EnList.Items[I]).GravityEnemy=true) then TEnemy(EnList.Items[I]).ImageIndex:=8; If (TEnemy(EnList.Items[I]).Mode='jumpL') and (TEnemy(EnList.Items[I]).GravityEnemy=true) then TEnemy(EnList.Items[I]).ImageIndex:=32; If TEnemy(EnList.Items[I]).Mode='standR' then TEnemy(EnList.Items[I]).ImageIndex:=3; If TEnemy(EnList.Items[I]).Mode='standL' then TEnemy(EnList.Items[I]).ImageIndex:=27; TEnemy(EnList.Items[I]).colground:=true end else TEnemy(EnList.Items[I]).colground:=false; end; end; TCollision := True; end; ąki kzZaYH[[^K[J[P[[JNY[Y[S[[K[YILH[Y[HH[[LHY[[^J[][WJK]]Q[[^O]YH[Y[Y[[^J[][WJK[Y[H[Y[Y[[^J[][WJK[OIN[ N[[[^J[][WJK[XYR[^LY[[^J[][WJK[OIN[N[[[^J[][WJK[XYR[^MY[[^J[][WJK[OIN[ N[[[^J[][WJK[XYR[^LN[[^J[][WJKNU[[^J[][WJKH [[[BY[Y [[^J[][WJKIU[[^J[][WJKXYĘH [[^J[][WJK]YJH[Y[[[^J[][WJK]]Q[[^N]YN[[^J[][WJK[Y[N[Y[[^J[][WJK[OIN[ N[[[^J[][WJK[XYR[^LNY[[^J[][WJK[OIN[N[[[^J[][WJK[XYR[^MY[[^J[][WJK[OIN[ N[[[^J[][WJK[XYR[^L[[^J[][WJKNU[[^J[][WJKHL[[^J[][WJK[Y[N[[[łhĆŚ(Ż7+żmŚQ Ń))9Ń)aŃ)(%]9eYąŃĄ((Ńź]9eYąź((I(aIĄ5]Ń(Q ŃĄ]MŃ(ąĄ(]Ń(!Ą(`a(d(%]%1%1%Ńlt(%%( ąąQ(Aą ĄŹQ(() Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
KKKas Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 (zmienna I nie jest zmienną a lokalna a to dlatego żeby w 2 miejscach tej samej zmiennej nie deklarować ..) Brawo. A czy czasem Delphi nie zwraca Ci uwagi, że robisz coś nie tak? Ech ;-) ҉ Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 CYTATFor loop control variable must be simple local variable a to dlatego żeby w 2 miejscach tej samej zmiennej nie deklarowaćChyba nie bardzo ogarniasz też metody działania zmiennych lokalnych ona przecież po wyjściu z metody zostaje usunięta to jak możesz deklarować 2 razy tą samą zmienną ? Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 10, 2008 Autor Zgłoś Share Napisano Styczeń 10, 2008 Według mnie coś się dzieje w pętli ,np działa tak wolno i przy dużej ilości przeciwników np. 40 ,nim skończy się pętla to jest ona wywołana jeszcze raz przez zegar a to powoduje ,że jeśli pętla doszła dopiero do 20 z 40 ,to dla tych 20 prędkość jest dwukrotnie wyższa ,zależna oczywiście od ilości przeciwników i prędkości zegara -FPS ...Dałem 1 wroga ,to to nie był widoczne -wróg spadał z tą samą prędkością co gracz ,dałem 2 i zauważyłem ,że wróg z dwukrotną szybkością opada ,a już nie mówiąc o 40 !!!Wrogowie wbili się w mapę do prawie połowy ... KKKas -owszem jest ostrzeżenie ... 5corpio -1 w TEnemy.Move a drugą w TEnemy.OnCollission ,dlatego też dałem 1 zmienną główną dla całego kodu tak żeby dotyczyła tych procedur ...Próbowałem zadeklarować w obydwu procedurach ale to nic nie zmieniło ... ... Więc co zrobić żeby pętla zadziałała szybciej tak żeby skończyła swoje działanie tuż przed kolejnym wywołaniem przez zegar ??Próbowałem zmniejszyć FPS np. do 40 ale to dużo nie dało .. Co do błędu ze stopniem to odkryłem coś ...Otóż w wykrywaniu użyłem Sprite.name='ground' ,więc jeśli dowolny wróg wykryje kolizje to reszta także na to działa ,bo to nie jest osobne wykrywanie dla każdego wroga ..(szczerze mówiąc to nie znam innego sposobu) .Jak więc wykryć osobno dla każdego ?? Próbowałem czegoś takiego np : If TEnemy(EnList.Items[I]).OnCollision('ground') then ale to nie chce działać (wyświetla błąd ,że Tsprite nie pasuje do String ,ale jak inaczej zrobić ??) Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 1) kto to widział aby zmienna do pętli była globalna 2) nie możliwe aby timer jeszcze raz włączył procedurę zanim poprzednia by sie nie skończyła, bo gdy wywoływana jest jedna to póki się nie skończy to wszystko jest zawieszane (chyba, że są watki). 3) użyj debuggera i zobacz co się dzieje 4) Dziwne jest to, że szybkość spadania nie zależy do fps, powinno być tak, że czym większe fps to dodaje się mniejszą liczbę do y, a im mniejsze to tym większą, aby tak samo chodziło bez względu na osiągi komputera. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 10, 2008 Autor Zgłoś Share Napisano Styczeń 10, 2008 1)Mogę dać lokalną ale to nic nie zmieni ... 2)Wiec dlaczego wrogowie szybciej spadają niż gracz ?? 3)Debugger -jak mam go użyć ?? 4)No właśnie ja mam inaczej ,twojego sposobu raczej nie wiem jak wykorzystać Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 1) Nic nie zmieni, ale działaś będzie szybciej bo kompilator lepiej trawi takie rzeczy 2) Patrz punk3 pomoże przy rozwiązaniu 3) link 4) a ) masz integery to więc nic nie da B) np, ustalasz, że dla 1000 ms spada o 200 pixeli i mnożysz opóźnienie timera przez 200 i dodajesz do y w enemy Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 10, 2008 Autor Zgłoś Share Napisano Styczeń 10, 2008 1) 2)Debugger dużo mi nie da... 3)Już rozumiem 4)Mam integery Ja bym proponował sprawdzenie błędu w kodach gdyż ja nie widzę żadnego ... EDIT Jak wykryć kolizje osobno dla każdego wroga ?? Bo ten kod ca ja zrobilem (If sprite.name blablabla ) nie działa poprawnie .. Dlaczego jeśli jest więcej niż 1 wrog to ich prędkośc opadania jest zalezna od ich ilosci ?? Coś mi się wydaje prędkośc jest mnożona przez ich ilość czyli TEnemy(Enlist[I]).y := TEnemy(Enlist[I]).y +(3 * Window.Enynum.value)ĄŚ]ą jest chyba niewidzialne ...:/ Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 a ja proponuje użyć debugera ale mnie nie sluchasz Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 10, 2008 Autor Zgłoś Share Napisano Styczeń 10, 2008 Próbowałem ,ale dalej nie wiem o co chodzi ... Przeczytajcie mój poprzedni post -został wyedytowany ,dokładnie to coś dodałem do EDIT ... Tak żeby nie było Jak wykryć kolizje osobno dla każdego wroga ?? Bo ten kod ca ja zrobilem (If sprite.name blablabla ) nie działa poprawnie .. Dlaczego jeśli jest więcej niż 1 wrog to ich prędkośc opadania jest zalezna od ich ilosci ?? Coś mi się wydaje prędkośc jest mnożona przez ich ilość czyli TEnemy(Enlist[I]).y := TEnemy(Enlist[I]).y +(3 * Window.Enynum.value)ĄŚ]ą jest chyba niewidzialne ...:/ Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 procedure TEnemy.CreateEnemy; var Number : integer; Xpos : integer; begin If Window.ENYnum.Value>=1 then begin for number:=1 to Window.ENYnum.Value do begin Randomize; Xpos := Random(MapWidth-55); Enemy := TEnemy.Create(Window.Sprite); Enlist.Add(Enemy); Enemy.Width := 55; Enemy.Height := 55; Enemy.X := Xpos; Enemy.Y := 0; Enemy.Image := Window.IList.ImageList.Items[0]; Enemy.ImageIndex := 0; Enemy.DoCollision := True; Enemy.DoPixelCheck := True; end; end; Powiedz mi w ogóle co to za procedura jest ? Bo widzę, że jest to metoda klasy TEnemy ale jakoś dziwnie w niej potem w pętli tworzysz kilka obiektów typu TEnemy czyli lecisz od razu po pamięci jak się nie mylę bo w końcowym rezultacie masz wskaźnik na ostatni obiekt chyba fajnie ale tu już masz chyba 1 błąd. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
KKKas Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 Ja nie wiem, że Wy macie jeszcze moc cokolwiek tłumaczyć, jak kolega jest odporny na uwagi, a za dwa dni będzie pisał 'profesjonalne programy na zamówienie' ;-) Wysłać do książki (nie tutoriala "Jak napisać Kółko i krzyżyk"), zbanować na miesiąc, dwa i dopiero rozmawiać ;-) ҉ Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 Dobra z Twojego kodu widzę, że kompletnie nie kumasz mechanizmów, których używasz bo tak: Metoda: procedure TEnemy.OnCollision Przecież to jest procedura "składowa" klasy TEnemy czyli jak ją wywołujesz w programie to na rzecz KONKRETNEGO obiektu a ty w tej metodzie dowalasz jeszcze pętle, która sprawdza kolizję wszystkich wrogów Kompletny bezsens! Ta metoda ma sprawdzać stan TYLKO obiektu na rzecz, którego zostaje wywołana i jestem pewien, że to jest przyczyną częsci błędów ehhh :/ i tak masz we wszystkich tych metodach nawet w tej "pseudo tworzącej wrogów" widać, że kompletnie nie masz pojęcia o obiektach i ich działaniu. Jeszcze jak wspomniałem wcześniej masz 1 wskaźnik a w pętli tworzysz masę obiektów ... n/c. Na unit1 były gdzieś 2 książki opisujące bardzo dobrze Object Pascala polecam bo bez ich przeczytania i zrozumienia nie zajedziesz daleko a i tak już wpadłeś w bagno. Ja nie wiem, że Wy macie jeszcze moc cokolwiek tłumaczyćNudzi mi się ;p Poza tym lubię czasem naśmiewać się z czyjejś nieporadności ]:-> Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Styczeń 10, 2008 Zgłoś Share Napisano Styczeń 10, 2008 looool kolego polecam przeczytac ze zrozumieniem podstawy o programowaniu obiektowym, bo robisz tak elementarne bledy ze az mi sie pisac nie chce, ale czemu nie. Twoje pytanie: Czemu jak jest 2 wrogow dziala to wolno a jak 40 to blyskawicznie ? odpowiedz jest prosta jak promien lasera: przyklad wg twojego toku rozumownaia procedure TEnemy.Move; var t: integer; begin for t := 1 to fEnemies.count -1 do TEnemy(fEnemies[t]).y := TEnemy(fEnemies[t]).y - 1; end; a to oznacza ze w: Enemy[0].Move; zmienisz wspolrzedna obiektow od 0 do 3 o 1 Enemy[1].Move; zmienisz wspolrzedna obiektow od 0 do 3 o 1 Enemy[2].Move; zmienisz wspolrzedna obiektow od 0 do 3 o 1 Enemy[3].Move; zmienisz wspolrzedna obiektow od 0 do 3 o 1 czyli Kazdy z Enemiesow przesunie sie nie o 1 tylko o 4. Jak dodasz 10000 obiektow to kazdy obiekty wywola przesuniecie na wszystkich innych obiektach (i na sobie) w efekcie masz n krotne przyspieszenie. Gdybys zamiast pisac na forum poswiecil 10 min. przy debugerze (zamiast wypisywac bzdury typu ze debuger nic ci nie da) to od razu zobaczylbys ten mechanizm. Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 11, 2008 Autor Zgłoś Share Napisano Styczeń 11, 2008 Debuggera nie rozumiem ...Wiem jak go używać ale co miałbym niby sprawdzić ???Czy kolizja jest wykonywana ?? Ty Toster mądry jesteś Właśnie oto mi chodziło ...więc jak zrobić żeby było dobrze ?? Ty w Timerze miałem SPrite.Move(0)}zx'iŚAą5)5(+^Ź&}qŹ,7ĆŚĄi(,-jk^fŚui'Sprite.Oncollision; Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 11, 2008 Autor Zgłoś Share Napisano Styczeń 11, 2008 Do kolizji nadal nie zadziałało ...Aha w poprzednim poście pomyliłem się ...Miało być Sprite.Collision Tylko ,że ja nie wiem co mam wpisać żeby chodzlo o 3 warstwe mapy. Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Styczeń 11, 2008 Zgłoś Share Napisano Styczeń 11, 2008 Debuggera nie rozumiem ...Wiem jak go używać ale co miałbym niby sprawdzić ???Czy kolizja jest wykonywanaTo chyba jednak nie rozumiesz xDPoza tym skąd mamy wiedzieć o co Ci chodzi z 3 warstwą ? Edytuj swoje posty a nie 2 pod sobą i w ogóle co 10min. zadajesz pytanie bo kompletnie nie rozumiesz czego używasz i jak coś zrobić nie sądzisz, że coś nie halo ? W creditsach gry potem napiszesz, że kodem zajeli się userzy unit1.pl ? (bo mi się wydaje, że nie) Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 11, 2008 Autor Zgłoś Share Napisano Styczeń 11, 2008 To zalezy czy będa te creditsy ...jakby co to powiem ze pomigliscie ale kodem wy sie nie zajmowaliscie ...tylkop odpowiadaliscie mi tam.. 3 warwstwa mapy !!Jak się ma komponent OmegaMap to mozesz ładować mapy ,ktore skladaja sie z 3 warstw ...A ja chce wykryć kolizję z 3 warstwa mapy ....Może jeszcze kod ładowania mapy mam dać ??? ... Powiedzcie mi 1 Jak wykryć kolizje z 3 warstwą mapy ???Tylko to chcę wiedziec ... Przez te 10 minut mógł już ktoś napisać ,dlatego nie edytuje bo potem nie przeczytacie mojego poprzedniego postu ,a najnowszy ...Więc jeśli w trakcie pisania ktoś odpowie ,ja przynajmiejbędę wiedzial ze to bedzie najnowszy post ... Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Styczeń 11, 2008 Zgłoś Share Napisano Styczeń 11, 2008 To zalezy czy będa te creditsy ...jakby co to powiem ze pomigliscie ale kodem wy sie nie zajmowaliscie ...tylkop odpowiadaliscie mi tam.. Tak sądzisz? To pokażę Ci jak to mniej więcej wygląda. Dexarz Zrobiłem coś ale to nie działa. To mój kod: adasd asdas hgdhgfhhf)Ź^J}vś+uŚ_fśjFjF{ęziyóĄŚnKhIZełł7^bppŚ&Vvć2ŚVćC Post 5 - Dexarz powiem ze pomigliscie ale kodem wy sie nie zajmowaliscie ...tylkop odpowiadaliscie mi tam.. --- Równie dobrze sam mogę napisać byle co, ktoś mi to poprawi a ja powiem, że to moje. Trochę bez sensu, nie uważasz? Może trochę to wyolbrzymiłem, jednak chcę po prostu zaakcentować sytuację. A teraz złota rada: Poprzeglądaj przykłady i staraj się samemu zrozumieć jak to działa, bo inaczej niczego się nie nauczysz. Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Styczeń 12, 2008 Autor Zgłoś Share Napisano Styczeń 12, 2008 Zmianka o was jakaś będzie ...ale nie w creditsach bo ich nie będzie ... Przeglądałem przykłady ,inaczej bym sie za to nie zabierał ... Ale wy kodem całym sie nie zajmowaliście ,Gracza sam zrobiłem !!Menu i cała reszta też ,wy tylko powiedzieliście mi o TList i jak to wykorzystać ,potem Toster mi powiedział dlaczego wrogowie idą szybciej ,i tyle !!To co powiedział Toster naprawiłem ,to był mój błąd ,sam bym na to wpadł ale akurat nie patrzyłem sie na kod Timera tylko na grawitacje ,i nie przychodziło mi do głowy że to może być błąd w timerze ...Teraz nawet na 40 wrogach wszystko działa ...Powiedzcie mi jeszcze jak wykryć kolizje z 3 warstwą mapy i tyle ,więcej błędów chyba nie będzie ... Postaram się coś jeszcze samemu znaleźć w przykładach ...ojojojoj Pozdrawiam Dexarz ... Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Styczeń 12, 2008 Zgłoś Share Napisano Styczeń 12, 2008 Taki OT: Ehhh zarzuciłem o tych credistach dla jaj i przykładu bo i tak bym nawet nie chciał w nich być ;p a wy afere z tego robicie. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl 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.