AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kollision zwischen 2 Bildern in DelphiX
Thema durchsuchen
Ansicht
Themen-Optionen

Kollision zwischen 2 Bildern in DelphiX

Ein Thema von ISAS · begonnen am 15. Nov 2003 · letzter Beitrag vom 30. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#1

Kollision zwischen 2 Bildern in DelphiX

  Alt 15. Nov 2003, 12:40
Habe hier 2 Bilder , welche immer wieder neu gezeichnet werden. (OnDXTimer)

1. Bild:

DXImageList1.Items[3].Draw(DXDraw1.Surface,256,224,0); 2. Bild:

Delphi-Quellcode:
for i:=0 to Maxx do
begin
for j:=0 to Maxy do
begin

if steine[i,j].typ=2 then begin
  DXImageList1.Items[2].Draw(DXDraw1.Surface,j*32+r,i*32+s,0);
end;

end;
end;
Bei Tastendruck verändert sich die Zahl von r oder s.
Wie kann ich nun eine Kollision erstellen??


Das Bild 1 befindet sich immer auf dem gleichen Fleck. Nur das Bild 2 bekommt andere Kordinaten.
Das Spiel soll so funktionieren, dass sich nur der Untergrund bewegt und Büsche, etc soll er nicht umgehen können
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#2

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 15. Nov 2003, 18:37
Soweit ich weiss, solltest du um eine Collisionsabfrage zu erzeugen lieber mit sprites arbeiten! Da ist die Collison schon quasi eingebaut!
Ansonsten denke ich Fragst du einfach mit einem Timer ab ob
Bild1=Bild2 ist
Also
IF (Bild1.x >= Bild2.x) and (Bild1.x-Bild1.width<=Bild2.x) and für y das gleiche
so müsst es funktzen!

ATwardz
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#3

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 15. Nov 2003, 20:06
Zitat von ATwardz:
Soweit ich weiss, solltest du um eine Collisionsabfrage zu erzeugen lieber mit sprites arbeiten! Da ist die Collison schon quasi eingebaut!
ATwardz
Ja, nimm lieber Sprites, wenn du mit DelphiX arbeitest. Das geht viel einfacher und da kannst du einfach die Methode DoCollision überschreiben und in der Methode DoMove Collision aufrufen.
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#4

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 16. Nov 2003, 14:58
Es geht nicht, da ich dann einige Probleme mit meinem Rollenspiel habe.

Ich müsste den ganzen Hintergrund zu Sprites machen und das kostet zu viel Rechenzeit.
Es bewegt sich nämlich nicht der Spieler sondern der Hintergrund und das ist das Entscheidente.
Das sich nur der Spieler bewegt und der Hintergrund gleich bleibt hab ich nämlich schon geschafft.
Da gibt es bei mir nämlich 32/32 grosse Kästchen, die immer neu geladen werden müssen.
Ich weiss nicht, wie gross dann die DXDrawfläche sein müsste, aber es gäbe dann sicher über 1000 Bilder auf der X-Achse und 1000 Bilder auf der Y-Achse wenn das Spiel fertig ist.

Das ist nur ein Problem. Ein anderes wäre, wenn ich nur die Sachen zu Sprites machen würde, bei der eine Kolision stattfindet, dann werden immer neue Sprites gezeichnet und die alten bleiben.

Natürlich gibt es noch viel mehr Probleme.


Das mit dem Timer könnte funktionierten, wenn ich wüsste, wie das geht.

Ich kann nicht einfach

Delphi-Quellcode:
if DXImageList1.Items[0].X=DXImageList1.Items[1].X then
...
end;
machen. Das geht nicht.
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#5

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 16. Nov 2003, 15:31
[quote="ISAS"]Das ist nur ein Problem. Ein anderes wäre, wenn ich nur die Sachen zu Sprites machen würde, bei der eine Kolision stattfindet, dann werden immer neue Sprites gezeichnet und die alten bleiben.
[quote]

Die Sprites könntest du mit Sprite1.Dead entfernen.

Leider verstehe ich nicht ganz, wie dein Spiel aussehen soll und wie dass mit den 1000 Sprites aussieht.
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#6

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 16. Nov 2003, 17:00
Wieso nehmen Hintergroundsprites zu viel Rechenzeit weg?
Verwende einen Tbackgroundsprite und mit der eigenschafft tilt werden deine Kästchen bei einer Bewegung neu erzeugt und welche die nit im Bild sind gelöscht!
Bester Weh denke ich!
Wenn du mit Images arbeiten willst kannst du dir dieses löschen/erstellen der Sprites auch selber coden!
Wieso kannst du nit eine Collisonsabfrage folgendermassen machen?

Bild1 ist das, welches sich nit bewegt!
Delphi-Quellcode:
IF (BILD2.x>Bild1.x) and (Bild2<Bild1.x+Bild1.width) and
   (Bild2.y>Bild1.y) and (Bild2<Bild1.y+Bild1.height)
then
  Begin
    Bild1.destroy;//Bild 1 wird gelöscht oder was immer du machen weillst wenn
                  //der xwert und ywert von Bild2 innerhalb Bild1 liegt!
  end;
So müsste das jetzt aber eigentlich sehr gut funktzen!

ATwardz
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#7

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 16. Nov 2003, 18:38
Ich geb mal das Programm samt Quellcode hierher.
Ich komm einfach net weiter.

PS: Man muss auf den Label Laden klicken und dann Anfang laden.
Angehängte Dateien
Dateityp: zip game.zip (282,8 KB, 29x aufgerufen)
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#8

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 17. Nov 2003, 16:52
Naja, 3 mal wurde es schon heruntergeladen. Hat schon jemand eine Idee??



Wenn ich die Kollision habe und das Spiel ruckelfrei geht, dann ises schon fast fertig.
Gegner sind dann ein Kinderspiel (Hab ich schon gemacht). Nur das Inventar (Maus in DelphiX) wird mir noch einige Probleme bereiten.

Also, helft mir bitte, bitte, bitte so schnell, viel und gut wie möglich
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#9

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 18. Nov 2003, 14:19
Sowieso noch eine Frage:

Wie ist das mit Bild1.X gemeint bzw wie kann ich das Bild als Bild1 definieren??
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#10

Re: Kollision zwischen 2 Bildern in DelphiX

  Alt 18. Nov 2003, 21:02
So ich habe mich deinem Projekt mal angenommen und es mit Sprites erstellt!
Es ist nur ein Grundgerüst, sollte aber mit deinen Funktionen kompatibel sein!(Laden etc.)

Wenn du noch Fragen hast, frag einfach!


ATwardz

Programm:
Angehängte Dateien
Dateityp: zip winace.zip (29,2 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz