The way I like to handle slopes using the tilemap, is to detect the specific tileID that my character is standing on. I check directly using XY coords converted to TileXY coords. Once you know the tile the character is standing on, you can program specific things to happen.
If using the Platform Behaviour, you could then change values like:
- acceleration/deceleration based on the playerDirection VS slopeDirection and slopeAngle
- this can simulate fast decent downhill or slow climb uphill, kind of similar to ice physics
- you can have different settings for if the player is trying to stand still VS trying to move
- adding/subtracting with vectorXY (to "push" the player downhill)
- the player may be trying to run uphill, but adding vectorValues will push them downhill at an amount related to the player's input
- change GravityAngle
- this can be tricky, as you've got to have collision boxes set up so they don't "catch" on each other
- however if set up properly, this can reduce the need to fuss with vectorXY or accel/decel
- or it could be as simple as you program a specific forcedControl when the player holds DOWN and the character is standing on the slope, like how the slide in Mega Man 3 works. It literally pushes you left or right, and stops when the slideTimer runs out AND Mega Man isn't in a single tile high passage, otherwise it keeps the slide going until he can stand up again.
Not sure if any of this makes sense of not, if not then I can try to be more specific. Or if this brings up more questions, please feel free to ask.