Isometric Movements

world.alpha = 30;
world.sinAlpha = Math.sin(world.alpha);
world.cosAlpha = Math.cos(world.alpha);
world.hero.speed = .75;
	if (Key.isDown(81)) {
		_root.hero._y -= world.hero.speed*world.sinAlpha;
		_root.hero._x -= world.hero.speed*world.cosAlpha;

Those are some selections of the code I am using in order to get my character to move along the line of the isometric plane. I already figured out how to make him move a tile at a time, but I want him to move a certain speed in a direction, not just one tile. Ignore the OOP code, that is all correct. My question regards the fact that when my character moves in that direction it looks to be along the plane but the longer he moves the farther he verres off from the isometric plane. I am using the correct two across-one up isometric view but I can’t get the character to move exactly in that direction. So what can I do in order to have him move along the isometric plane?