What he's saying is that if you take an object moving at, say, 10 units per frame along either the x or y and switch it to move 10 units along a 45 degree diagonal you have to change the amount it's moved along the x and y axis by a factor of roughly .7071067. Otherwise it moves faster on the diagonal than it does on the axes. If you continued to move the object 10 upf on both x and y the diagonal speed would be sqrt (200) = 14.14 units per frame.
You should always break the x and y components of the velocity into separate values with x being
velocity * cos(angle)
and y being
velocity * sin(angle)
This likely will give you non-integer values so it's best to use floats for maintaining position and convert them to integer values when passing them to the positioning functions.
Lilith, Night Butterfly
I'm not a programmer but I play one in the office