Name des Bildes an bestimmter Position ermitteln?
Übersicht

![]() |
BaretBetreff: Name des Bildes an bestimmter Position ermitteln? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich habe erst vor 2 Tagen mit Blitz angefangen nachdem ich zuvor schon viel Erfahrung in Visual Basic und etwas mit C++ gesammelt habe. Also wundert euch bitte nicht über Fragen die Euch vielleicht lächerlich vorkommen! Ich möchte ein Rennspiel(2D) mit Editor erstellen. Den Editor möchte ich "Puzzleartig" gestalten. Das heißt man setzt die Teile per Drag&Drop. Für das Abspeichern der Strecke möchte ich dann prüfen ob an einer bestimmten Position (x,y) ein Bild vorhanden ist und wenn ja, wie heißt es? Gibt es eine Funktion in Blitz3D die dies ermöglicht? Weiters Frage ich mich wie ich ein einzelnes Bild löschen kann? Bisher lösche ich ein Bild immer dadurch, dass ich den ganzen Bildschirm lösche(Cls) und anschließend alle Bilder, bis auf das welches ich löschen möchte, neu zeichne. Gibt es eine Funktion mit der man einzelne Bilder entfernen kann ohne den ganzen Bildschirm löschen und neu zeichnen zu müssen? Vielen Dank im Voraus Mfg Baret |
||
.:_]TRaSh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du viel Erfahrung mit VB hast wirst du ja sicherlich Arrays kennen... ...unter BB heißt das ganze Dim-Feld.
Versuche die einzelnen "PuzzleTeile" (Tiles) zu nummerieren und in einem 2-Dimensionalen Dim-Feld zu speichern... ... Dieses kannst du dann ganz einfach wieder mit 2 verschachtelten For-Schleifen auslesen. |
||
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen [20:18] DarkAngel: es tut mir irgend wie leid |
getlose |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hierbei sei nochmal gesagt, mit loadanimimage lässt sich
wunderbar ein tileset laden das sich lediglich über nummern (frame-zahlen) ansprechen lässt und sich genausogut speichern lässt. |
||
![]() |
Baret |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für Eure schnellen (und hilfreichen) Antworten!
Werd ich gleich mal probieren! Vielleicht könnt ihr mir noch bei meiner 2.Frage helfen? Wie kann ich ein einzelnes Bild vom Bildschirm löschen? Mfg Baret |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doublebuffering verwenden (sollte ohnehin Standard sein) und einfach nicht mehr zeichnen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
.:_]TRaSh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
in der Hauptschleife wird durch For-Schleifen das Dim-Feld ausgelesen.. ....dabei kann z.B. der Wert "0" für nichts, der Wert "1" für z.B. Beton etc. stehen...
...Bei z.B. einem Rechtsklick wird ein Tile einfach wieder gelöscht, indem du den Wert des aktuellen Feldes auf "0" setzt. ![]() |
||
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen [20:18] DarkAngel: es tut mir irgend wie leid |
![]() |
Baret |
![]() Antworten mit Zitat ![]() |
---|---|---|
@hubsi:
Ich verwende DoubleBuffering (setbuffer backbuffer() )! Aber wie kann ich damit AUSSERHALB EINER SCHLEIFE ein Bild löschen ohne alles wieder neu zeichnen zu müssen? Mfg Baret |
||
René Meyer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein, so wie Du es jetzt machst, ist es gut und richtig.
Bei Double Buffering zeichnest Du den gesamten Bildschirm 30-100 Mal in der Sekunde neu. Wenn ein Bild verschwinden soll, sorgst Du dafür, daß es beim nächsten Durchlauf nicht mehr gezeichnet wird. |
||
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb |
![]() |
Baret |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK!
Nochmal vielen Dank für Eure Hilfe Mfg Baret |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group