And to get him back the other direction but I can't get the door animating working that way, no idea how you made it do what it does.
How are we supposed to fix placing an initial spawn point? Also this seems like it would be incompatible if we put in save points.
Well you have "Go Right" and "Go Left" for the door directions, that's ok. 0 degrees is right, 180 is left. You just need to check when the door reaches the edge of the screen. ViewportLeft(layername) gives you the x position of the left side of the screen and ViewportRight(layername) gives the right side.
As for the initial spawn point maybe give the player an instance variable that tracks which door he came through.
- Player has an initial door id = -1
- Connected doors have the same id
- Player goes through door and stores door id
- On next layout, player is positioned next to the door with matching id, unless id = -1
- At a save point you can set the player door id to -1
I've never played Metroidvania so I don't know if you have multiple doors per level or what else you need.