Well, I think the main problem is that you're using sprites for bg collision, but I will give you points for stretching it out though. You've had the background load before so do that for this. Then make a variable, BG for example, and give it a value with BGGET so it looks like this; BG=BGGET(layer,(PX+ofsx)/16,(PY+ofsy)/16) ofsx/ofsy or X/Y offset help make collision more precise.