COMEGO
1
Alright, so i got a playable character. But i’m wondering, how do I detect when my player is colliding with a collision?
collision = CollisionSphere(0, 0, 3, 4)
cfloc = toon1part1.attachNewNode(CollisionNode(‘cnode’))
cfloc.node().addSolid(collision)
You should look into the CollisionTraverser: you’ll need to use the methods:
-
add_solid
To specify which CollisionSolid (such as your CollisionSphere) is going to be used for the collision test.
-
traverse
To specify where does the collision check happen (you can path the render node if you want to have it run on the whole scene)
-
sort_entries
Optional, but very useful, it’ll sort the collisions detected in order of which is the closest to your solid to which is the farthest.
-
get_num_entry
returns the number of collision detected
-
get_entry
returns the detail for a collision (plenty of useful stuff like the exact point of the collision)
-
get_entry(x).get_into_node_path
returns the NodePath on which a given collision happened