Also, ich habe gerade Probleme mit der Collisionsabfrage meines neuen Spieles. Es ist ein 2D-SidescrollGame. Das Scrollen geht sehr einfach dank Prospeed.dll. Also ich erstelle einen Background und setze Objekte (Sprites) in die Welt, in diesem Fall die Solid-Objects. Nun hab ich noch ein weiteres Sprite, meine Figur. Diese kann sich in der Welt bis jetzt nach links oder rechts bewegen. Kommt aber ein Solid-Object, dann kommt es an diesem nicht vorbei.
Nun suche ich eine Collisionsabfrage die gut funktioniert. Ich hab schon einiges ausprobiert:
- 4 Seiten mit dem Abstand von ca 2 Pixel zur Figur. Bevor ich mich nach rechts bewegte fragte ich die rechte Seite ab ob es eine Collision mit einem Solid-Object gibt. Nachteil: Beim Bewegen der Figur müssen auch die 4 Seiten mitbewegt werden, was nicht immer sauber läuft. Auch das anpassen der Seiten an die Position der Figur läuft schlecht, da sie immer "nachdröddeln".
- Die Game Help von OgerLord mit Prospeed-Befehlen umgeschrieben. Nachteil: Mit verschiedenen Befehlen (zb.SetSpeedSprite) konnte ich auf das erzeugte Sprite nicht mehr zugreifen. Dazu kam, das das aufbauen der Bilder sehr langsam ging.
- Eine Funktion, mit der ich überprüfte, ob 2 Pixel vor mir ein Solid-Object ist. Hier bin ich leider klaglich gescheitert. Der Grund ist, das ich einfach nicht check wie ich das schaffe.
Womit wir schon beim Thema sind. Ich brauche jemanden der mir Tips oder gleich eine funktionierende Funktion liefert. Natürlich freue ich mit über Anregungen oder Beispiele.
In folgenden Link könnt ihr meine soweitige Spiel-Programmierung finden.
Download
Ich möchte mich auch für den langen Text entschuldigen, aber kürzer gings nicht.