Форма KineticJS поверх изображения

Я хочу нарисовать несколько фигур поверх изображения.

После того, как изображение загружено и добавлено к слою, я использую функцию moveToBottom(), которая работает с фигурами, но не работает с изображениями.

Я пытался использовать moveToTop() для фигур, но все равно не повезло.

Важное примечание: я должен держать их на одном слое, поэтому очевидное решение — поместить изображение на другой слой — не вариант.


person Kris    schedule 23.01.2013    source источник
comment
Вы можете поместить часть своего кода в jsfiddle? Тогда я смогу тебе помочь.   -  person SoluableNonagon    schedule 23.01.2013


Ответы (1)


http://jsfiddle.net/hukNL/

Эта концепция показывает, что функции слоев работают, поэтому ошибка находится где-то еще в вашем коде.

Прежде всего, вы хотите использовать новейшую версию KineticJS 4.3.1, затем вам нужно убедиться, что если вы перетаскиваете изображения, которые вы отключаете, помещая их в слой dragOnTop, который теперь представлен в более новых выпусках. Наконец, если больше ничего не работает, вы можете вручную отладить свой код, проверив z-индекс каждого элемента, используя:

 .getZIndex()

Кроме того, если вам нужна дополнительная помощь, опубликуйте код, чтобы другие могли помочь вам в его отладке.

person SoluableNonagon    schedule 23.01.2013
comment
Я нашел часть проблемы. Изображения находятся в элементе Group, который, кажется, ведет себя очень странно. img.getParent().getChildren() дает мне список элементов, но сам img не является одним из них, что я нахожу очень странным. Мне удалось исправить это сейчас, переместив img.getParent().getChildren()[0] вниз, а не просто img. Я действительно не знаю, почему это работает, но на данный момент я счастлив, что это работает. - person Kris; 24.01.2013