For sidescrolling-purposes the best idea might be to do all calculations and stuff within world-space (ignoring any kind of scrolling), and just use the Scroll-Value/Camera-Position for drawing-operations from worldspace-objects. Thus collision etc. would be calculated compeletely without being influenced of the current camera-position, but pasting enemies would look somehow this way:
paste sprite Enemy(ID).SpriteID, Enemy(ID).x - camera.x, Enemy(ID).y - camera.y
where camera.x and .y define the draw-offset. To bind this camera to a player you'd do something like this:
camera.x = player.x - screen width()/2
camera.y = player.y - screen height()/2
which would make the point player.x|player.y always be in the screen's center.