SpriteCollision

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Fitsch
Beiträge: 14
Registriert: 09.07.2009 15:29
Computerausstattung: Windows 7 Professional 64Bit | AMD 5600+ @ 3.10 GHz | 5GB RAM | Nvidia Gf 9800 GT
Wohnort: Schwalmstadt
Kontaktdaten:

SpriteCollision

Beitrag von Fitsch »

Hallo Jungs,
Bin zurzeit dabei mein Moorhuhn Clon aus der schule in PureBasic neu zuschreiben, bin auch soweit sehr zufrieden mit dem ergebnis nur die SpritColision will nicht so richtig.

Folgendes Problem tritt auf:
Die Kollision bei den Hühner die von Rechts -> Links Fliegen klappt einwand frei nur bei den Hühner die von Links -> Rechts fliegen dort findet die Kollision hinter den Hühnern statt warum auch immer die Kollision solte doch auf dem Ganzen Sprite statt finden oder nicht ?

Achja mir kommt es auch ein wenig vor das dass Spiel etwas ruckelt bzw. Normal leuft und ab und zu mal etwas schneller leuft ...

Quellcode und Datein könnt ihr unter folgendem Link herunterladen:
Download

Mfg Fitsch
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: SpriteCollision

Beitrag von NicTheQuick »

Ich habe mir den Code jetzt nicht angeschaut, aber kann es sein, dass die Mohrhühner, die von links nach rechts fliegen, gespiegelte Sprite3Ds sind? Womöglich werden sie am linken Bildschirmrand gespiegelt und, und deswegen auch an der falschen Stelle angezeigt.
Fitsch
Beiträge: 14
Registriert: 09.07.2009 15:29
Computerausstattung: Windows 7 Professional 64Bit | AMD 5600+ @ 3.10 GHz | 5GB RAM | Nvidia Gf 9800 GT
Wohnort: Schwalmstadt
Kontaktdaten:

Re: SpriteCollision

Beitrag von Fitsch »

Nein es sind eigenständige Sprites.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: SpriteCollision

Beitrag von DarkDragon »

Äh ja

Code: Alles auswählen

If SpritePixelCollision(2,VogelX(c),VogelY(c),1,MouseX(), MouseY()) = 1
Das Sprite mit der Nummer 2 stimmt nicht, denn es stellt ja keinen Vogel dar und ist unabhängig von der Richtung des Vogels.

Außerdem solltest du das zwischen dem Zeichnen und Vorwärtsbewegen des vogels machen und nicht nach Zeichnen und Vorwärtsbewegen.

P.S.: Die Grafiken darfst du doch sicher garnicht verwenden, oder?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Fitsch
Beiträge: 14
Registriert: 09.07.2009 15:29
Computerausstattung: Windows 7 Professional 64Bit | AMD 5600+ @ 3.10 GHz | 5GB RAM | Nvidia Gf 9800 GT
Wohnort: Schwalmstadt
Kontaktdaten:

Re: SpriteCollision

Beitrag von Fitsch »

oh, ja stimmt da kommt ja die sprite ID hin...
Das heißt ich müsste die Sprite ID auch in der schleife mit abfragen damit jedes Huhn auf eine Kollision geprüft wird...
Antworten