Are you referring to their original position when layout starts or their new position of where they collided with player?
If its original then simply use an "On-start-of-layout" event to spawn them all where they belong each time layout starts/restarts.
If your referring to new collided position you will need to use a global variable for each that stores their x,y coordinates prior to destroying them and reloads using this data at start/restart of layout...
But this begs the question of why your restarting the same layout in your gameplay... depending on your goal you could simulate a restart by moving player and only set things collided with to invisible keeping their current position until the simulated restart when they were set back visible...
I'm referring to their original position when layout starts ,,,, Ok heres the thing lets see I have 50 butterflies on the Layout but I just want to destroy every one I got collision withit and keepit that way until I restart the layout from zero I mean from the start menu or from the map choosing that same level again<<< But I dont want any butterflies appear again just when I lose a Life<<<<But Only when I restart the whole Layout<<< You give a good answer about the invible part but I used an instance with that after I lose a life it will appear again and If I used a Global I think it will destroy all the Butterflies each time I lose a Life <<< ThankZ !!!!! chrisinfinger <<<<