'''
Camera Module
'''
#inherited from the parent module:
#import math
#import pandac.PandaModules as panda
global picker, handler, pickerNode, pickerRay
def init():
global picker, handler, pickerNode, pickerRay
picker = panda.CollisionTraverser()
handler = panda.CollisionHandlerQueue()
pickerNode = panda.CollisionNode('mouseRay')
pickerNode.setFromCollideMask(panda.BitMask32.bit(1))
camera.attachNewNode(pickerNode)
pickerRay = panda.CollisionRay() #Make our ray
pickerNode.addSolid(pickerRay) #Add it to the collision node
picker.addCollider(pickerNode, handler)
taskMgr.add(pick, 'picker')
def pick(task):
if base.mouseWatcherNode.hasMouse():
mpos = mpos = base.mouseWatcherNode.getMouse()
global pickerRay
pickerRay.setFromLens(base.camNode, mpos.getX(), mpos.getY())
global picker
picker.traverse(render)
if handler.getNumEntries() > 0:
print 'hit!'
handler.sortEntries()
handler.getEntry(0).getIntoNode().hide()
return Task.cont
This is what I have, as a sort of ‘picking’ module for my game.
(note that most modules have been imported in the ‘parent’ module)
I can’t seem to find any tutorials on this, so I have some questions:
- have i forgotten anything?
- I think I need to add stuff to my nodes, what?
- anyone know of any tutorials on this?