2013-04-26 2 views
0

Я импортирую слой JSON на сцену.Щелчок проходит через слой после Kinetic.Node.create()

var loadedobject = Kinetic.Node.create(data); 
     maplayer.add(loadedobject); 

код, чтобы изменить содержание, что я импортируя, кажется, делает как штраф: (BTW: .maplayer2 является слоем я импортировал)

maplayer.get('.maplayer2')[0].setScale(browserwidthdifference); 
      maplayer.get('.maplayer2')[0].setY(browserheight/2); 
      maplayer.setDraggable(true); 

Однако если сделать код ниже это Безразлично Работа:

maplayer.on('click', function() { 
       console.log('help');  
      }); 


maplayer.get('.maplayer2')[0].on('click', function() { 
       console.log('help');  
      }); 

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

backgroundlayer.on('click', function() { 
       console.log('help');  
      }); 

Я получаю ответы кликов, даже если я нажимаю на импортируемый слой, который явно поверх другого слоя. maplayer.moveToTop() тоже не работает. Все переменные работают, но события щелчка не будут работать с импортированным объектом.

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

enter image description here

ответ

0

Если сохранить все объекты в пределах объекта группы он будет работать нормально! Поэтому, когда вы сохраняете вещи, не делайте этого в слое, но в объекте Group.

Смежные вопросы