Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

2D Kollisionserkennung auf der Basis eines Bitmaps

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 05.10.2006, 23:36    Titel: 2D Kollisionserkennung auf der Basis eines Bitmaps Antworten mit Zitat

Hi, mit den Augen rollen
Ich suche nach einer Lösung für das Problem: Kollisionserkennung, welche mit Hilfe von Bitmaps die nicht passierbaren bereiche genau definiert..
man hat also z.B. eine Bilddatei, die 2 Farbige Informationen enthält.
Die Farbe schwarz könnte zum Beispiel begehbar sein währenddessen die Farbe weiß dies nicht ist.
Gute beispiele für eine solche Kollisionserkennungen sind:

TOU - http://tou.has.it/
oder Worms Armageddon

Die irgendwie ein Bitmap im hintergrund (z.b. auf einem anderen Screen) laufen haben... welches die entsprechenden bereiche markiert..
dazu kommt noch das Problem Physik.. Es sollte erkannt werden ob es steil Bergab oder bergauf geht.. damit entsprechende objekte darauf reagieren können
Schwerkraft im allgemeinen ist kein Problem nur die Interaktion mit der umwelt..
Es ist doch langweilig alles nur Dreiecken oder Vierecken zu machen, so wie in meinen
bissherigem versuchen..
Ich habe aber meine bedenken ob das so in FB ohne irgendwelche libs funktionieren kann. Denn Pixelgenaue Abfrage (z.B mit POINT(x,y)) kostet einiges an zeit.. was die Performance natürlich drückt..
naja ich bräuchte eigendlich nur ein paar gute ansätze eher ich mir noch läger weiter den Kopf zerbreche mit dem Kopf durch die Mauer wollen

Es wäre toll, wenn mir jemand hier helfen könnte.. ich habe bereits nach dem Thema gesucht.. doch ohne erfolg

PS:
grinsen tolles Forum, habe schon öfter mal nachgeschaut. wenns problem gab..danke! grinsen
(das wollt ich noch loswerden)

cYa

D1RtY happy H4RrY
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Eisbaer



Anmeldungsdatum: 16.10.2004
Beiträge: 354
Wohnort: Deutschland,Bayern

BeitragVerfasst am: 06.10.2006, 08:17    Titel: Level Informationen sammeln Antworten mit Zitat

Also du könntest eine Dimensonierte Variable laden und die Level Daten von weiß/schwarz des Hintergrundes (Masken Bild) dort ablegen und dann im Spiel diese Werte einfach mit den momentanen Werten im Spiel vergleichen, und hättest gleich dein Ergebnis. Auch Höhenparameter oder ähnliches kanst du so gezielt und schnell abfragen.

kleiner Demo Code, Ungetestet dürfte aber gehen.... (QB-Code)


Code:
DEFINT A-Z

SCREEN 12

width% = 640    ;Breite
height% = 480   ;Höhe

DIM map(width%,height%)

REM Erstelle Bild am Bildschirm
REM #################

for x = 0 to width%
for y = 0 to height%

RANDOMIZE TIMER
z% = INT(RND * 0) + 1

SELECT CASE z%

CASE 0    ;schwarz

PSET (x,y),0

CASE 1    ;weiß

PSET (x,y),15

End Select

next y
next x

REM #################

for x = 0 to width%
for y = 0 to height%

Opt% = POINT (x, y)

Select Case Opt%

Case 0

map(x,y) = 1    ;Schwarze Farbe zuweisen

Case 15

map(x,y) = 2    ; Weiße Farbe zuweisen

Else Select

map(x,y) = 3

End Select

NEXT y
NEXT x

Print "Press Key"
WHILE INKEY$ = "" :WEND
END

End



Gruß Eisbaer
_________________
Eigene Webseite:
http://www.eisbaer-studios.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 06.10.2006, 11:59    Titel: danke Antworten mit Zitat

danke für den Code.. hab ihn noch nicht getestet.. werde es aber nachher noch tun...
das mit dem in Variablen ablegen hab ich schon verwendet.. bloß die Physik ist jetzt das wo es interressant wir.. Berg/Tal erkennung..

d1RtY happy H4RrY
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz