hmmm, I haven't used TileMapAtlas, so I'm not totally sure.
But I did have some issues getting the touch dispatcher to fire at first.
What does your TileMapLevel class extend from? If its a Layer, or something that can already handle regular touches you don't need to use the onEnter/onExit methods to add or remove the touch dispatcher.
I made sure the old 'isTouchEnabled = YES;' was still in the init (I think thats still needed) & added the TargetedTouchDelegate protocol with this method:
-(void) registerWithTouchDispatcher
{
[[TouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:INT_MIN+2 swallowsTouches:NO];
}
It was some weeks ago I got this working, so I may have missed something, or be wrong, but I certainly did have some issues getting it all to work at first with custom layers.
To get it working with Sprites / regular nodes (that don't normally handle touches) the regular onEnter/onExit methods you used worked fine for me (& were actually easier to setup than the layer code)
Hope my ramblings help you in some way!
@iphonemobdev sorry for taking your thread off on a tangent. Haven't dealt with collision forces etc. Have you looked at chipmunk/box2d? They might help you do a pinball style game, rather than implementing the math/physics yourself.