перетащите координаты оптимизации jcanvas drawLine

considering this basic case, one may expect the coordinates of the layer to be updated ... но они не будут.

Instead, there is the possibility of remembering the starting point, compute the mouse offset and then update the coordinates, like in этот тест, но... эффект довольно экстремальный. Ожидаемый: точка x1,y1 статична. Результат: точка x1,y1 перемещается невероятно быстро.

Если задать постоянные координаты, перетаскивание останется прежним. Основная проблема здесь в том, что действие перетаскивания применяется ко всему слою.

Fix : apply the modification at the end of the drag, like в этом фрагменте. Но это относительно некрасиво. У кого-нибудь есть лучший способ

  • получить на ходу актуальные координаты точек линии
  • удается удерживать точку линии статической, в то время как другие движутся

Ждем ваших предложений,


person nicolallias    schedule 06.05.2014    source источник


Ответы (1)


Чтобы поддерживать эффективность перетаскивания слоев, jCanvas смещает только свойства x и y для любого перетаскиваемого слоя (включая пути). Следовательно, при перетаскивании вы можете вычислить абсолютные позиции любого набора координат пути, используя что-то вроде этих строк:

var absX1 = layer.x + layer.x1;
var absY1 = layer.y + layer.y1;

(при условии, что layer ссылается на слой jCanvas, конечно)

person caleb531    schedule 06.06.2014