konvajs: расположение элемента не меняется после перетаскивания

Итак, с konva.js у меня есть группа с двумя текстовыми элементами. Я сделал группу draggable. После перетаскивания я распечатал x и y для текста, но он никогда не менялся:

group.on('dragend', function() {
    var group = this;
    var t = group.findOne('Text');
    console.log(t.x(), t.y());
});

Остальная часть кода точно такая же, как Konva Text Demo


person lang2    schedule 24.03.2016    source источник
comment
Никогда не использовал конву - но, может быть, положение текста относительно группы? Не могли бы вы немного расширить свой вопрос?   -  person chazsolo    schedule 24.03.2016
comment
Это очень помогло. Хотя у меня все еще есть некоторые проблемы, но я готов принять это, если вы превратите это в полный ответ.   -  person lang2    schedule 24.03.2016


Ответы (2)


Повышено с помощью комментария:

Никогда не использовал конву - но, может быть, положение текста относительно группы? ...

В konva.js свойства x и y дочернего элемента в группе относятся к его родительскому элементу.

person chazsolo    schedule 24.03.2016

Код должен выглядеть примерно так:

if(imageObj.src.indexOf("icon_clock.png") > -1)
{
    clockX = (group.get('.topLeft')[0].getAbsoluteTransform().m[4]+group.get('.topRight')[0].getAbsoluteTransform().m[4])/2;
    clockY = (group.get('.topLeft')[0].getAbsoluteTransform().m[5]+group.get('.bottomLeft')[0].getAbsoluteTransform().m[5])/2; 
}

layerName.draw();
stageName.draw();
person Community    schedule 05.04.2016
comment
это хорошо работает, и я тоже могу над этим поработать. мы можем создать динамические часы, когда часы движутся по очереди, чтобы стрелка времени также перемещалась на экране запуска. - person ; 05.04.2016