[SDL]Collision lässt gegner verrückt spielen

devnetik

Enthusiast
Thread Starter
Mitglied seit
30.12.2008
Beiträge
79
Hallo leute,
ich hab folgendes Problem.

Hab ein kleines Fangen Spiel programmiert, wenn man das so nennen kann.
Man steuert einen kleine Smilie und muss mit dem kleine Punkte einsammeln. Eigentlich was ganz simples. Nur wenn ich ein Punkt eingesammelt hab lass ich per Zufall den neuen Punkt wo anders auftauchen.

Aber sobald ich darauf komm, springt der neue Punkt wild hin und her zwischen zwei Punkten.

Ich benutze VC++ Express 2008 und SDL.

Hänge den Quellcode mal mit an, weil der für einen Beitrag denk etwas groß ist.

http://www.endless.devnetik.de/stuff/fangen.zip

vielen dank schonmal falls mir jemand helfen kann.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hi
Ich habe zwar keine Ahnung von C++ aber ich habe mir das mal heruntergeladen und wollte gucken, ob ich was finden kann vor Sport.

So, ich kann dir schonmal sagen, dass diese "2" Felder immer im gleichen Winkel zueinander stehen, der Abstand zwischen beiden variiert jedoch immer.
Ich muss jetzt los, vielleicht bringt dich das aber schonmal irgendwie weiter.
 
habs nun gefunden. ich hab unten beim zeichnen des gegners die x und y achse vertauscht.

trotzdem vielen danke Cyba_Mephisto
gruß michi
 
Bitte sehr, hoffe ich konnte trotzdem helfen. Vertauschung der X und Y Komponente zwingt auch zu einem immer gleichen Winkel.

Viel Spaß noch!

Mfg
Cyba_Mephisto


EDIT: Achso was mir gerade noch einfällt.

Die Schleife lastet einen CPU-Kern die ganze Zeit aus.
Ich würde am besten die Berechnungszeit messen und dann "1/60Sek - gemessene Zeit" warten zu lassen, damit kannst du das auf regelmäßige 60 Bilder pro Sekunde bringen.
Oder am besten auf die Bildwiederholrate anpassen und zeitabhängige Bewegung einbauen.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh