Quote: "Have you done a test on another PC?"
I get the problem on 2 PCs and an Android phone
Quote: "But you should not be loading a ton of button images. It would be best to load a single button background and then create text objects from a custom text image. Should be much faster and take up less memory."
I load one image and create all buttons from it (Sprite + Text overlaid). When a selection is made, I unload the sprites, image and text. If a new menu is required, I load the image again and repeat.
Quote: "Is there any reason you can't load the images just once? Maybe it's related to reloading the same image over and again after physics or something else has been initialised?"
I will try loading it just once to see what impact this has. The reason for reloading is that this is a standalone piece of code, that I can drop into any project to create menus. Loading the image for each menu makes it more portable and configurable.
There's no physics involved, so this can discounted.
Quote: "Are you using a background image or setting the refresh colour? Maybe it's the screen not fully refreshing? Add a screen sized sprite the same colour as your background behind the menu sprites maybe?"
This may have started when I changed the refresh colour to a dark grey from the default black. I'll check that too
Quote: "are you deleting / hiding the sprites or are you just setting the image to zero? A zero imageID would cause a white sprite too"
I deleteSprite() followed by deleteImage(). But the effect is almost like I deleted the image and the sprite stayed.
I'll report back when I've tested again later, thanks for all the ideas