It looks like you're basing the dot's positioning on being a certain _x value away from the character on each side. If you're on a steep slope, they're farther away from the character than if they're on a flat surface.
The feel of the game is great, but if you want to get him running upside, you'll need to base the position of those dots on the distance from the character, as well as the character's rotation. If you're basing the character's movement on his rotation, then you should already have the math to do that.
So basically, instead of moving the points up or down based on if they're hitting or not, then rotating the character, you should rotate the character based on if the points are hitting or not. Just make sure to reposition your points based on his rotation within that while loop, else it'll just keep running.
Doodle, sketch, draw, design, fill notebooks with elaborate scenes, funny character designs, and gameplay ideas.
Find your own personal style and run with it. Craft characters and stories that you love.
Enjoy your own work, and don’t be afraid to show it off. Create.