considering the player doesnt have to exactly face the door but just be walking close to it to trigger "open door', the simpliest way would be to add a layer and use block sprites as collision and make this layer invisible to the player (by selecting the layer and uncheck Initially visible in its propery).
you would of course make the block sprite size bigger than the door.
Then you will write the code where:
- if player/sprite overlap the block sprite on your invisible layer
>>> trigger the door animation
>>> disable the solid state of the door that he can walk through it.
you will have to reverse it (animation and solid state) when the player is not overlaping anymore the the block sprite that you use as collision detection if you want the door to close automatically and become solid again.
sincdee you certainly will have more than one door ;) I would suggest to add an instance variable for the doors and block sprites you use for collision that when a block sprite is overlaped by the sprite of your player, you can grab the ID of the block and know exactly which door to open/close since youm made sure they share the same ID.