Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat von »"drakon"«
Zitat von »"zodX"«
Du programmierst wie ein Kind, ein kleines !!!
Kollidier doch einfach...
Hehe. Dachte ich auch. Da scheinst du Pech zu haben!
Mach dir wegen denen keine Gedanken. Einfach ignorieren. Das solche Leute so was posten hat weniger mit dir, als viel mehr mit deren mangelnder Sozialkompetenz und Unzulänglichkeit zu tun.
C-/C++-Quelltext |
|
1 2 3 4 |
if(Alter <= 12) { Kann_nichts = true; } |
Zitat von »"KeksX"«
Ich habe es bei mir getestet, die Ergebnisse waren immer:
Hohe Geschwindigkeit = Kollision wird zu früh berechnet
Niedrige Geschwindigkeit = Kollision wird rechtzeitig berechnet
Zitat von »"dot"«
Zitat von »"KeksX"«
Ich habe es bei mir getestet, die Ergebnisse waren immer:
Hohe Geschwindigkeit = Kollision wird zu früh berechnet
Niedrige Geschwindigkeit = Kollision wird rechtzeitig berechnet
Naja, jetzt mal aus der Hüfte geschossen:
Du berechnest in jedem Frame zunächst die Neue Position und dann die Kollision. Damit bekommst du dann:
Hohe Geschwindigkeit = Das Ding was du am Schirm siehst is noch an seiner alten Position, die neue Position (die du grad ausrechnest) ist aber schon so weit vorne dass Kollision stattfindet. Was tust du wenn Kollision auftritt? Vermutlich Ding in andere Richtung bewegen. Wenn du dabei von der alten Position ausgehst entspricht das was du zu sehen bekommst ziemlich genau dem dass es aussieht als würde es zu weit vorne kollidieren. Das liegt dann aber daran dass du das Ding an der Stelle wo es kollidiert wäre nicht mehr anzeigst sondern gleich umdrehst.
Niedrige Geschwindigkeit = Das Ding bewegt sich von Frame zu Frame nicht weit genug als dass das Problem auffallen würde.
Kollisionen immer nur an bestimmten Positionen in einem Frame zu betrachten führt unweigerlich zu Problemem. Z.B. wenn Geschwindigkeit viel zu hoch kanns passieren dass Dinge durch andere durchfliegen weil sie sich einfach von Frame zu Frame so weit bewegen dass du die Kollision dazwischen nicht mitbekommst. Um sowas zu beherrschen musst du dann nicht nur die aktuellen Positionen der Objekte in Betracht ziehen sondern die komplette Strecke die sie vom letzten Frame bis zum aktuellen zurückgelegt haben.
Werbeanzeige