All pastes #445365 Raw Edit

Someone

public text v1 · immutable
·published 2007-04-17 20:40 UTC
rendered paste body
base.cTrav = P.CollisionTraverser('CollisionTraverser of scene.py')
floorMASK = P.BitMask32.bit(1)
offMASK = P.BitMask32.allOff()

...

class Plant:

    def __init__(self,pos=Vec2(0,0),type='Tree'):

        ...

        self.prime = P.NodePath('Character primary NodePath')
        self.prime.reparentTo(render)
        self.prime.setPos(self.pos)

        # Initialise collision detection stuff
        self.radius=3
        self.sphere = P.CollisionSphere(0,0,0,self.radius)
        self.spherenp = self.prime.attachNewNode(P.CollisionNode('cnode'))
        self.spherenp.node().addSolid(self.sphere)
        self.floorhandler = P.CollisionHandlerFloor()
        self.floorhandler.addCollider(self.spherenp,self.prime)        
        base.cTrav.addCollider(self.spherenp,self.floorhandler)
        # Uncomment this line to show the CollisionSphere
        self.spherenp.show()
        self.spherenp.node().setFromCollideMask(floorMASK)
        self.spherenp.node().setIntoCollideMask(offMASK)

...

tnp1,tnpc1 = makeTerrain(h=8)
tnpc1.setCollideMask(floorMASK)

# So the CollisionSphere of Plant should collide with the collision geometry tnpc1 in floorhandler mode, but nothing happens