Couldn't fit it all in the title but I actually have two issues that are kind of related. I'll start with the first one.
As I'm sure you know the 8 direction behavior doesn't keep a consistent speed when moving diagonally- it is often times much slower than going straight for example. Which is a bit of a problem for me since the game I'm making is a top down RPG with bullet hell elements. Main thing I'm tryin' to wrap my head around is how would I go about fixing that? I know it probably requires some sort of calculation on my end but I have no idea to go about doing that; better yet how to do it ONLY when the character is moving diagonally. I'll have some pictures attached of what my current set up for movement is. This is the MAIN problem that I need solved ASAP since having inconsistent movement in bullet hells is a VERY big deal. It can completely destroy the game feel and makes it harder to design around.
Secondly, some animation trouble I've been running into. Not sure if I'm going to explain this well but... If you've ever played something like UNDERTALE or DELTARUNE you might notice that when pressing down your character doesn't just immediately go down. They still play on of their side animations. However once you let go of the left or right arrow keys they begin to do their proper up and down animations. Vice-versa for the opposite scenario. This is something I want to achieve because with the current system I have, the player can just keep pressing the up and down buttons rapidly while moving left or right and they'll keep switching back and fourth between their down and up animations to their side ones. It looks really awful and thats a bit of a problem.
If anyone could me with these 2 I would be very grateful.
(Sorry for the censored images by the way, don't want the project TOO public yet.)