Please don't use the magnitude. Because all it does is complicate things. Use a constant number (aka frameRate) that will determine the speed of change in frames. You can also check out this answer: Sprite Animation Best PracticesSprite Animation Best Practices
The above method will allow you to have the same animation that can be used by multiple sprites. Instead of each sprite having it's own animations. Hope this helps :D