Hallo zusammen,

ich habe ein paar Probleme mit Sprite-Kollisionen.
Die Sprites sind beide parallel zur Kamera ausgerichtet.
Sie werden per c_move(... USE_POLYGON | IGNORE_PASSABLE | ACTIVATE_PUSH) nach links oder rechts bewegt.
Zum Einen funktioniert die Kollisionserkennung nicht wirklich Pixelgenau. Ich hätte gerne, dass transparente Pixel ignoriert werden und bei Berührung zweier sichtbarer Pixel das Kollisionsevent aktiviert wird.

Ein weiteres Problem ist das 'Überrennen'. Beide Entities haben das POLYGON Flag aktiviert.
Die eine Sprite-Entity ist der Spieler.
Die zweite ein Gegner.
Angenommen, sie Bewegen sich beider nach rechts, dann holt der Spieler irgendwann den Gegner ein. Doch das Kollisionsevent wird erst getriggert, wenn der Spieler halb durch den Gegner durchgelaufen ist.
Läuft der Gegner in Richtung des Spielers, wird das Event wesentlich früher ausgelöst, wenn auch nicht sofort bei der ersten sichtbaren Berührung.
Beide Entities bewegen sich mit den selben Modi per c_move.
Die Spieler-Entity enthält kein Event, die Gegner-Entity enthält das auszuführende Event. Der push Wert beider Entities wurde nicht geändert.
Eigentlich werden die Events doch bei beiden Entities ausgelöst, unabhängig davon, welche nun mit der anderen kollidiert, oder? Ich habe auch schon EVENT_IMPACT probiert.
ACTIVATE_PUSH wird in der c_move-Anweisung immer benutzt. Das ENABLE_PUSH und EVENT_PUSH werden in der Aktion bzw. dem Event des Gegner berücksichtigt!

Hat jemand eine Idee?

Dank und Gruß
derGarv


GameStudio Version: A7 Pro v7.86