While you can still change things around, try picturing these layers, scrolling at different speeds, being drawn on the top of oneanother. If you could fit any size graphic in any of the layers, like a simplistic jigsaw puzzle, I'm sure you'll find it very flexible. This is the representation i suggest (I'm imagining it written in XML in a file, but it could be any data structure, really.)
<!-- level_00.gfx -->
<layer level="-2" parallax="1.05">
<sprite file="somesprite.png" position="0, 128" />
<sprite file="anothersprite.png" position="32, 0" />
</layer>
<layer level="0" parallax="1.0">
<sprite file="graffiti.png" position="96, 64" />
<sprite file="vine.png" position="8, 16" />
</layer>
<layer level="1" parallax="-1.3">
<sprite file="somesprite.png" position="480, 64" />
<sprite file="anothersprite.png" position="128, 16" />
</layer>
You could have more strict tile layouts and/or collision information defined elsewhere.
Layers -n..-1 could be painted before the basic level layout, and layers 1..n on the top of.
The layers would each be offset by scroll * layer.parallax when drawn.
It's only a suggestion, -it will still take a slightly more refined editor, but I think it could make you more productive later on.
Huh, I missed your post the first time. data structure type to use isn't really my concern, as you said, any data structure would do.
Your definition here though got me thinking - one, I've been wondering whether to allow for different parallax amounts for different sprites, or whether to have just 1 parallaxed layer of images behind the main level display. I'm not a fan of layers that show up in front of the main level, cause they usually just get in the way.
What's interesting in your definition - I suppose the position is the position of the object relative to the level's 0,0 - and that when the view is centered on 0,0, those background objects should appear at that given position. I think i can picture how to handle this in my head right now. I don't know if what i said made sense, but it's helped me at least.
What is stopping you from using a single large image as your background? That is exactly how I do it.
Nothing is stopping me from using a single large image. I'm not sure if you meant a static image though - If you have a visual (video or something) of how a single large background image looks in your game, feel free to share.
I just don't want a single large static image as the background, and I was wondering about how other people have handled backgrounds. So far, I'm more inclined to go with one layer of parallax images, and one static layer that's just a backdrop (like a sky gradient or something)