Tips needed : gameworld wraps around screen, sprites need to be wrapped as well (so drawn double when crossing the edge of the screen)

The idea is that when my character walks off the screen on the right, at the same time she enters the screen on the left again.

I’m trying to prevent to have to code really weird contraptions like “if player straddles right screen border, create a new sprite, offset that SCREEN_WIDTH to the left” etcetera,
because the new sprite should stay in sync with the ‘original’ with respect to animations started etc.

In an ideal world I’d just be able to call for a 2nd draw of my main sprite at a different position, but I have no idea how I’d manage to do that.

Anyone got any tips ?

Edit:
I’m now thinking about deriving a subclass from Sprite, and overriding the draw method so it adds 2 extra quadcommands to draw the sprite offset to the left and right as well. Then I just have to figure out how to convert my Design-size offset to a matrix I can multiply the _modelViewTransform with I think ?