Name des Bildes an bestimmter Position ermitteln?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Baret

Betreff: Name des Bildes an bestimmter Position ermitteln?

BeitragFr, Dez 03, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Dez 03, 2004 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Dez 03, 2004 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Dez 03, 2004 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Dez 03, 2004 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Doublebuffering verwenden (sollte ohnehin Standard sein) und einfach nicht mehr zeichnen Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

.:_]TRaSh

BeitragFr, Dez 03, 2004 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Very Happy ich hoffe du verstehst..
[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

BeitragFr, Dez 03, 2004 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
@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

BeitragSa, Dez 04, 2004 1:48
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Dez 04, 2004 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
OK!

Nochmal vielen Dank für Eure Hilfe

Mfg
Baret

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group