Entwickler-Ecke
Multimedia / Grafik - BitMap Informationen auslesen
knittel - Mo 13.09.10 13:31
Titel: BitMap Informationen auslesen
Hallo Leute,
Ich entwickle gerade ein Spiel und dabei soll man auf einem Hintergrundbild spielen. Zusätzlich zu dem Hintergrundbild will ich noch ein Schwarz-Weiß BitMap erstellen, um zuspeichern auf welchen Flächen man gehen kann. Jetzt die Frage:
1. Wie kann ich die BitMap einlesen?
2. Wie schaffe ich es die Koordinaten der BMP auszulesen.
Außerdem muss ich sehr viele Kollisionen abfragen. Bisher würde ich das so machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| for i:=0 To High(Einheiten) do begin for j:=0 To High(Schüsse) do begin Abstand := sqrt(Einheit[i].x - Schuss[j].x + Einheit[i].y - Schuss[j].y); if (Abstand < Einheitsize/2) then begin # kollision end; end; end; |
Bei der Kollisionsabfrage würden mich noch 2 Sachen interessieren:
1. Dauert die sqrt Rechnung sehr lange? Sollte ich die Wurzelziehung einfach weglassen?
2. Gibt es noch eine einfacherer Kollisionsabfrage (Mir reicht ein grober Kollisions-Check nicht pixelgenau)?
Danke schonmal im voraus. :)
platzwart - Mo 13.09.10 13:37
1. Wie kann ich die BitMap einlesen?
Delphi-Quelltext
1:
| Image1.Picture.LoadFromFile('C:\meine_bitmap.bmp'); |
2. Wie schaffe ich es die Koordinaten der BMP auszulesen.
Delphi-Quelltext
1:
| Image1.Canvas.pixels[4,3]:= ClBlack; |
Weiß aber nicht genau, ob ich deine Fragen richtig verstanden habe ;)
knittel - Mo 13.09.10 19:54
Du hast die fragen richtig verstanden.
also vielen dank.
:)
knittel - Fr 22.10.10 17:38
Ich hätte noch einmal eine Frage zum selben Thema:
Ich habe immernoch ein Schwarz-Weiß BitMap und ich will eine Überprüfung machen ob innerhalb eines bestimmten Bereich (Rechteck) irgendein Punkt Schwarz ist. Nun will ich keine For-Schleifen machen die das überprüfen, diese Überprüfung würde glaube ich relativ lange dauern. Deswegen wollte ich wissen ob es dafür einen einfach und intelligenteren Weg gibt.
Danke im voraus.
Martok - Fr 22.10.10 17:42
Hallo,
bitte erstelle für neue Fragen ein neues Topic, da die Diskussion mehrerer Fragen in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt. Daher:
*geschlossen*
Viele Grüße,
Martok
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!