I'll start by saying I have pretty much what I want working now, but it just feels like "ugly" code if that makes any sense. I have four images bouncing around the screen, they are stored in an array (Thanks to Skylar while I was reading other threads) which contains the image, and there CGPoint, I do want to add in there direction to the array and there size, but that's something I'm happy to churn through myself till I get my poor maths sorted Please Register or Log in to view images. Anyway I have the images bouncing and I have them detecting a touch event and reacting as I want, but having to check each item in the array to see if it's been touched seems abit backwards. There does appear to be a sprite control which from a cursory glance would be neater, I think it just sits abit awkardly with me that I'm having to use globals to achieve all this Hmm, that was alot of waffle, the basic question is: Will a sprite handle the fact it's been touched better without having to loop through an array or am I better off just sticking to an array ? Sorry if this is a silly question, my background is in VB.NET and a little C# coding in business so anything to do with graphics and moving of things is pretty foreign to me.