def objectClicked(self): mpos = base.mouseWatcherNode.getMouse() self.pickerRay.setFromLens(base.camNode, mpos.getX(), mpos.getY()) self.myTraverser.traverse(render) # Assume for simplicity's sake that myHandler is a CollisionHandlerQueue. if self.myHandler.getNumEntries() > 0: for i in range(self.myHandler.getNumEntries()): entry = self.myHandler.getEntry(i) self.myHandler.sortEntries() pickedObj = self.myHandler.getEntry(0).getIntoNodePath() pickedObj = pickedObj.findNetTag('myObjectTag') parent = pickedObj.getParent(Thread.getCurrentThread()) if parent.getNetTag('state') == "in": self.AnimateOut(parent) elif parent.getNetTag('state') == "out": self.AnimateIn(parent)