Ah, sorry, my fault! I tested my code, but the project that I used (the scaffold) has a background that fills the entire stage, so it worked as described there.
However, if your root sprite (or the stage) is empty, you have to add the touch event handler to the *stage* instead of the root object. That way, it will fire even when the stage is empty.
To do that, use the following code instead:
__weak SPStage *stage = Sparrow.stage;
[stage addEventListenerForType:SP_EVENT_TYPE_TOUCH block:^(SPTouchEvent *event)
{
SPTouch *touch = [[event touchesWithTarget:stage andPhase:SPTouchPhaseBegan]
anyObject];
if (touch)
NSLog(@"New touch");
}];
Now you will receive an event from all over the stage, empty or not.
Is that what you were looking for?