Game Engine > Game Engine: vragen en discussies

[BGE] Python collision callback op object; collision eind detectie

(1/2) > >>

jvp:
Ik ben op zoek naar een manier om in Python te detecteren dat een collision begint, én wanneer deze eindigt.

Op het moment doe ik dit:


--- Code: ---class Sensor(bge.types.KX_GameObject):
    def __init__(self, gameobj):
        # gameobj is automatically used to populate this object
        self.collisionCallbacks.append(self.onCollisionPulse)

    def onCollisionPulse(self, other):
        if "is_block" in other:
            print(self, "collided with", other)
--- Einde van code ---

Ik ben alleen geinteresseerd in de objecten die de is_block property hebben, maar ik wil ook graag weten wanneer de collision eindigt.

Het lijkt erop dat dit op het moment niet kan met deze callbacks, en dat ik toch naar de Collision Sensor logic bricks terug moet vallen.

Heeft iemand het verlossende antwoord?

IJp:
Ik niet,  zo slim ben ik niet.  :-[  ;-)

Maar PKHG is hier ook wel eens op het forum en zover ik weet kan hij wel met Python overweg, dus die kan je wellicht helpen.
Zaph was ik vergeten en ik zie dat hij ook met Python overweg kan dus het zal we goed komen  ;)

koos2:
Helaas, ik ben niet bekend met Python.

koos2:
Is het niet zo dat zo'n collision detect een true of falls teruggeven?! Dan eindigt de collision als hij na de true een falls geeft. een 1 true een 0 flass of iets dergelijks.

Zaph:
Nee, een collision is als een event, vergelijkbaar met een muisklik - je operating system detecteert een klik, en geeft dat door aan het programma waarop dat plaatsvindt. Het ontbreken ergens van is geen event, en het OS is dan ook niet continu aan het doorgeven - anders zou er (heel overdreven) non-stop moeten worden doorgegeven dat er niet geklikt is op x=0&y=0, x=1&y=0, etcetera, en dat ook niet de toetsen 'a', 'b', 'c', etcetera ingedrukt zijn.

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie