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:

meine kollisionserkennung mag nicht...

 
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
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 15.12.2007, 16:27    Titel: meine kollisionserkennung mag nicht... Antworten mit Zitat

hi
ich habs bei meiner kollisionserkennnung inzwischen so gemacht, dass zwischen den alten und den neuen koordinaten "geistig" eine linie gezogen wird, und diese dann pixel für pixel abgearbeitet wird.
wenn man sich sowohl in x- als auch in y- richtung bewegt, wird für jedes x und für jedes y errechnet, ob da grade ein block im weg ist. wenn ja, dann wird das vorher berechnete pixel genommen und als neue position für die figur genommen. dann wird die x koordinate testweise in x-richtung (sgn(dx)) erhöht, um zu testen,ob er dann schonwieder in ner wand stünde. wenn ja, wird die x-geschwindigkeit und die x-beschleunigung genullt. dasselbe wird mit y auch gemacht. dann ist er fertig
wenn man sich nur in eine richtung bewegt, spart sich das programm einfach die berechnung der stillstehenden koordinate


der code des spiels: http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=366
die kollisionserkennung:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=367
und die physik-engine:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=368

das problem ist nun: wenn ich gegen eine stufe laufe, und gleichzeitig springe (wenn ich die wand schon berühre), bewegt er sich aus irgendeinem unerfindlichen grund herunter.

wenn ich aus größerer höhe auf den boden unten springe, versinke ich mit jeder bewegung tiefer in ihm...

ich hoffe ihr könnt mir helfen, dass das teil endlich mal funktioniert...

schonmal danke im voraus

edit:
die sprites: http://rapidshare.com/files/76970561/charas.exe.html
muss am ende so aussehen, dass im spielverz. ein unterverz. "gfx" angelegt wird, darin dann "charas" und darin "normal" etc...
ist ein selbstentpackendes archiv

und ganz am anfang des haupt proggis noch
Code:

declare sub logge (text as string)
sub logge (text as string)
open cons for append as #124
?#124,text
close #124
end sub


edit²:
die alte version der kollisionserkennung (was ganz was anderes, geht auch besser, aber trotzdem net gescheit)
http://rapidshare.com/files/76977535/Game.exe.html
in ein verz. entpacken, und in dieses verz den gfx ordner von oben reinkopieren

mir ist egal, welche geht, hauptsache irgendeine happy

flo
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
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