Во вспышке я использую lineTo
, чтобы нарисовать линию между двумя точками.Это работает хорошо, но я обнаружил, что на более медленных компьютерах линия неровная, потому что запускается не так много событий мыши.
Я хочу «сгладить» линию, чтобы добавить больше точек междукаждая точка, которую регистрирует мышь:
![Illustration](https://i.stack.imgur.com/vAnbg.png)
Черные линии показывают результат, зеленые - то, что я хочу.Красные точки - это действительные точки, а зеленые - интерполированные.
Я сам пытался закодировать это, но, похоже, не могу понять, как это правильно, вот код в любом случае:
var interX:Number = lastMouseX+(lastMouseSpeed.x/2);
var interY:Number = lastMouseY+(lastMouseSpeed.y/2);
//Also tried: lastMouseX+(this.mouseX-lastMouseX)/2;
// also jittery
graphics.lineTo(interX, interY);
graphics.lineTo(this.mouseX, this.mouseY);
lastMouseSpeed.x = this.mouseX-lastMouseX;
lastMouseSpeed.y = this.mouseY-lastMouseY;
lastMouseX = this.mouseX;
lastMouseY = this.mouseY;
результат гораздо более неровный, чем обычный.
Извините, но я не могу сделать скриншоты (по какой-то причине он копирует мой экран как черный)