![]() |
Kollision zwischen 2 Bildern in DelphiX
Habe hier 2 Bilder :cheers: , welche immer wieder neu gezeichnet werden. (OnDXTimer)
1. Bild:
Delphi-Quellcode:
2. Bild:
DXImageList1.Items[3].Draw(DXDraw1.Surface,256,224,0);
Delphi-Quellcode:
Bei Tastendruck verändert sich die Zahl von r oder s. :arrow:
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; 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 |
Re: Kollision zwischen 2 Bildern in DelphiX
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 |
Re: Kollision zwischen 2 Bildern in DelphiX
Zitat:
|
Re: Kollision zwischen 2 Bildern in DelphiX
Es geht nicht, da ich dann einige Probleme mit meinem Rollenspiel habe. :wall:
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:
machen. Das geht nicht.
if DXImageList1.Items[0].X=DXImageList1.Items[1].X then
... end; |
Re: Kollision zwischen 2 Bildern in DelphiX
[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. |
Re: Kollision zwischen 2 Bildern in DelphiX
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:
So müsste das jetzt aber eigentlich sehr gut funktzen!
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; ATwardz |
Re: Kollision zwischen 2 Bildern in DelphiX
Liste der Anhänge anzeigen (Anzahl: 1)
Ich geb mal das Programm samt Quellcode hierher.
Ich komm einfach net weiter. :wall: :gruebel: :?: PS: Man muss auf den Label Laden klicken und dann Anfang laden. |
Re: Kollision zwischen 2 Bildern in DelphiX
Naja, 3 mal wurde es schon heruntergeladen. Hat schon jemand eine Idee??
:gruebel: 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 |
Re: Kollision zwischen 2 Bildern in DelphiX
Sowieso noch eine Frage:
Wie ist das mit Bild1.X gemeint bzw wie kann ich das Bild als Bild1 definieren?? :?: :gruebel: |
Re: Kollision zwischen 2 Bildern in DelphiX
Liste der Anhänge anzeigen (Anzahl: 1)
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: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz