Показать сообщение отдельно
Старый 27.05.2014, 13:58
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 8  
Ответить с цитированием
LifeIsRhythm

Регистрация: May 2014
Сообщений: 182
Цитата:
Потому что у нас уже есть vector.
К чему плодить лишний код.
Вы наверное об этом? Да, так на строчку короче! Но эта разница достойна того, кто вообще не пользуется фраймворками, которые содержат чересчур много излишеств А ещё и нативный метод на 40% медленнее, а Point я использовал только для того, чтобы ТС было понятней.
Код AS3:
public static function drawDottedLine(graphics:Graphics, start:Point, finish:Point, doteLineSize:Number = 5, gap:Number = 5):Graphics
{
	var vector:Point = new Point(finish.x - start.x, finish.y - start.y);
	var unitVector:Point = new Point(vector.x / length,  vector.y / length);
 
	var fullStep:Number = doteLineSize + gap;
 
	var iterations:int = vector.length / fullStep;
 
	var roulette:Number = 0
 
	for (var i:int = 0; i < iterations; i++) 
	{
		graphics.moveTo(start.x + roulette * unitVector.x, start.y + roulette * unitVector.y);
		roulette += doteLineSize;
		graphics.lineTo(start.x + unitVector.x * roulette, start.y + unitVector.y * roulette);
		roulette += gap;
	}
 
	return graphics;
}