Collision????????// [solved]

[size=150][color=red]Warning: n00bish question coming up…[/size]
Hey,
I’ve been trying some things with collision handling. but it won’t really work.
this is my code:

import direct.directbase.DirectStart
#from pandac.PandaModules import CollisionEntry,CollisionHandler,CollisionHandlerEvent,CollisionTraverser
from pandac.PandaModules import *
from direct.showbase import DirectObject
from direct.task.Task import Task
from direct.interval.IntervalGlobal import *

class World(DirectObject.DirectObject):
  def __init__(self):
    base.cTrav = CollisionTraverser()
    self.collHandEvent=CollisionHandlerQueue()
    #self.collHandEvent.addInPattern('%fn-into-%in')
    self.accept('arrow_left',self.goLeft)
    self.accept('arrow_right',self.goRight)
    self.accept('arrow_up',self.goUp)
    self.accept('arrow_down',self.goDown)
    self.collCount=0
    #seeker init
    self.seeker = loader.loadModel('seeker.egg')
    self.seeker.setScale(40)
    self.seeker.reparentTo(render)
    sColl=self.initCollisionSphere(self.seeker,True)
    sColl[0].setCollideMask(BitMask32.bit(1))
    base.cTrav.addCollider(sColl[0],self.collHandEvent)
    #gazebo init
    self.gazebo = loader.loadModel('gazebo.egg')
    self.gazebo.setScale(40)
    self.gazebo.setPos(100,100,-100)
    self.gazebo.reparentTo(render)
    self.gazebo.node().setIntoCollideMask(BitMask32.bit(1))
    #self.accept(sColl[1]+'-into-gazebo.egg',self.bounceWall)
    taskMgr.add(self.checkCollisions,'checkColl')

  def checkCollisions(self,task):
    base.cTrav.traverse(render)
    for i in range(self.collHandEvent.getNumEntries()):
      print "collision!"
      entry = self.collHandEvent.getEntry(i)
      print entry
    return task.cont

  def goLeft(self):
    self.seeker.setX(self.seeker.getX()-5)
    
  def goRight(self):
    self.seeker.setX(self.seeker.getX()+5)

  def goUp(self):
    self.seeker.setY(self.seeker.getY()+5)
    
  def goDown(self):
    self.seeker.setY(self.seeker.getY()-5)

  def bounceWall(self,entry):
    print "blah"
    print entry
  def initCollisionSphere( self, obj, show=False):
		bounds = obj.getChild(0).getBounds()
 		center = bounds.getCenter()
     		radius = bounds.getRadius()*1.0
		collSphereStr = 'CollisionHull' +str(self.collCount)+"_"+obj.getName()
		self.collCount+=1
		cNode=CollisionNode(collSphereStr)
		cNode.addSolid(CollisionSphere(center, radius ) )
		cNodepath=obj.attachNewNode(cNode)
		if show:
			cNodepath.show()
		return (cNodepath,collSphereStr )
w=World()
run()

it runs fine, the collision sphere of the seeker model shows up, but when I collide it it doesn’t print “collision” at all on the console.
I tried it with CollisionHandlerEvent too, but without any success.
Can somebody help?

PS. we need more collision handling tutorials.

solved, thanks to ThomasEgi (on the irc channel) :laughing:
I just replaced line 30 with:
self.gazebo.setCollideMask(BitMask32.bit(1))