Skocz do zawartości

[Delphi][OMEGA]Kolizja wroga ,naśladowanie 1 wroga przez resztę ...


Dexarz

Polecane posty

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

  • Odpowiedzi 64
  • Created
  • Ostatnia odpowiedź

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 :P 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 jest
Z 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

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

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

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

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

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

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

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

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

 
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

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

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 :blink: 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

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 />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

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

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

Debuggera nie rozumiem ...Wiem jak go używać ale co miałbym niby sprawdzić ???Czy kolizja jest wykonywana
To chyba jednak nie rozumiesz xD

Poza 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

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

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

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

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...