I don't think there is an easy solution to this. One way of doing this is to create a copy of the level at an offset and "ghosting" some objects. For example, if you want your character to be stopped by walls, and enemies to go through walls, you make a copy of the layout at 10000px to the right, remove walls from it and place your enemies there. For each real enemy object create a "ghost" sprite and position it to (Enemy.X-10000, Enemy.Y) on every tick. It will look like enemies are walking through walls. Of course, this solution is far from universal, but could work in some games.