2016-10-06 1 views
0

Я пытаюсь определить, находится ли указатель мыши над телом, поэтому я могу перетащить его, но я получаю ошибку ниже. Я не знаю, является ли это я или ошибка в pybox2d, но я был у нее часами, а документы - древние.Я не могу заставить QueryAABB работать в PyBox2D. Что я делаю не так?

>>> from Box2D.b2 import * 
>>> w = world() 
>>> my_body = w.CreateDynamicBody(position=(1,1)) 
>>> aabb = AABB() 
>>> aabb.lowerBound = (1-.001,1-.001) 
>>> aabb.upperBound = (1+.001,1+.001) 
>>> def callback(fixture): 
...  shape = fixture.shape 
...  p = (1,1) 
...  if fixture.body.type != 0: # type 0 is static 
...    if shape.TestPoint(fixture.body.transform,p): 
...      return False 
...  return True 
... 
>>> w.QueryAABB(callback,aabb) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: in method 'b2World_QueryAABB', argument 2 of type 'b2QueryCallback *' 

Очевидно, я ожидаю, что запрос вернуть True (не обнаружено формы, продолжайте искать), потому что я не создал форму для тела, но это не объясняет ошибку типа. Пожалуйста, помогите, спасибо заранее!

ответ

Смежные вопросы