Some hints:
1. You still have offset on the circle shape (I see that I wrote
offset on the body and not on the shape in my previous post, sorry).
Its not needed and will just confuse you, so just send in (0,0)
instead
2. You will have to decide if you want pymunk to resolve collisions
for you or if you just want pymunk to detect them. If you _do not
want_ pymunk to actually resolve collisions you should return False
from the callback (or otherwise make sure pymunk never tries to
resolve a collision). For the next pointers I will assume you _want_
pymunk to resolve collisions for you.
3. The move function is very strange, it doesnt even do anything with
the x and y it gets as parameters! :) I suggest you remove it
completely as I don't understand why you need it. And remove those
old_x/old_y variables as well. And change the update function to only
synchronize the body position in the pymunk world with the sprite
position in the pyglet world:
def update(self): x,y = self.body.position
4. You don't need to do anything in the collision callback function.
Remove it (or keep it and just use it to print info for debugging).
pymunk will move the shapes/bodies for you
Later on you will want to use another way to move the car by player
input and not just -+ on the position, but I think its good if you
straighten out the other stuff first :) There are some threads on the
chipmunk forum (
http://www.slembcke.net/forums/viewforum.php?f=1) that
deals with top down cars that might be usefull to get this part right.
(just search on it for topdown and "top down" and you will find them).
Another thing I noticed is that you create pymunk vectors before you
send them in to functions. This is usually not needed so you can save
some space with writing it as a normal python tuple instead ((x,y)
instead of pymunk.Vec2d(x,y)). And I see that you got some spaces
mixed with tabs when you added the debug code. Its usually a very good
idea to keep to one form, either tabs or spaces, not both. But you
probably know that already :)
Maybe I can put together some simple example when I get home today,
but I can't promise anything.
/vb
(Now when I see your code I see that I forgot the moon buggy example,
but it looks like you found it. When I said pyglet example I meant
box2d_pyramid.py (or something like that) :))