 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
d1rty.h4rry

Anmeldungsdatum: 05.10.2006 Beiträge: 116 Wohnort: Cassel
|
Verfasst am: 05.10.2006, 23:36 Titel: 2D Kollisionserkennung auf der Basis eines Bitmaps |
|
|
Hi,
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
Es wäre toll, wenn mir jemand hier helfen könnte.. ich habe bereits nach dem Thema gesucht.. doch ohne erfolg
PS:
tolles Forum, habe schon öfter mal nachgeschaut. wenns problem gab..danke!
(das wollt ich noch loswerden)
cYa
D1RtY H4RrY |
|
Nach oben |
|
 |
Eisbaer

Anmeldungsdatum: 16.10.2004 Beiträge: 354 Wohnort: Deutschland,Bayern
|
Verfasst am: 06.10.2006, 08:17 Titel: Level Informationen sammeln |
|
|
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 |
|
 |
d1rty.h4rry

Anmeldungsdatum: 05.10.2006 Beiträge: 116 Wohnort: Cassel
|
Verfasst am: 06.10.2006, 11:59 Titel: danke |
|
|
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 H4RrY |
|
Nach oben |
|
 |
|
|
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.
|
|