> The level is not linear, meaning that it can expand horizontally and vertically. Also, some platform can rotate and move. So my concern of having an array with fixed angle wouldn't allow me to change the angle on dynamic platform. Still, I could do it for the static ones, that are the most used... However, I would still need a system to get the angle for the dynamic platform.
Yeah, that approach will work for static platforms.
I may be able to give you more ideas, if you could share how is your terrain going to be 'moving' or rotating? I can't relate, because of the sketch above, I am guessing it is made up of triangles, how are you managing the movement, a screenshot or video might help.
I do have some ideas in mind, but it all depends on how your terrain is created (if it can be recreated differently maybe?).
The solids are sprites and they can be angles or squares. Most of them have a triangle collision because I guess it take less resources to check the collision. So to make up the terrain that the user will never touch below, I use triangle collision. The difference between the static platform and dynamic platform is that the dynamic can move and rotate without using any behavior. I differentiate them because the dynamic platform have the designed attached on it, so when they move the graphics needs to move accordingly. Also, the dynamic platform can form a "unique" platform that can move all together using the pin behavior. Both solids are in the same family, so in my logic I'm checking the collision on the family.
It is important to note that the player can't move if the degree is of solid is close to the 75 degrees. The example that — provided is really good, because even if the player get even extreme angle, I could still use another event to limit the range angle of the player. Also, the angle that needs to be changes is only on the animation, not on the player platform behavior, forcing the player to don't move in right angles.
I will post a gif of the game soon. Thank you!