В бета-выпуске Sencha Touch Charts 2 в примере кода руководства по рисованию есть пример прослушивания Sprite для сенсорного запуска.Данный код не рисует никаких спрайтов, потому что не может вставить холст в DOM.Однако это можно исправить, заменив это:
//add the component to the panel
Ext.create('Ext.chart.Panel', {
fullscreen: true,
title: 'Yellow Circle',
items: drawComponent
});
на это:
//add the component to the panel
Ext.create('Ext.chart.Panel', {
fullscreen: true,
title: 'Yellow Circle',
chart: drawComponent
});
Теперь я действительно хотел бы, чтобы обработка событий работала.Пример кода продолжается с:
// Add a circle sprite
var myCircle = drawComponent.surface.add({
type: 'circle',
x: 100,
y: 100,
radius: 100,
fill: '#cc5'
});
// Now do stuff with the sprite, like changing its properties:
myCircle.setAttributes({
fill: '#ccc'
}, true);
// Remember always to refresh the image
drawComponent.surface.renderFrame();
// or animate an attribute on the sprite
// no need to refresh the image when adding animations.
myCircle.fx.start({
fill: '#555'
});
// Add a touch listener to the sprite
myCircle.addListener('touchstart', function() {
alert('touchstarted!');
});
, но это последнее предупреждение никогда не происходит при прикосновении.Любые идеи?
drawComponent.addListener ('touchstart' ... работает нормально, но, конечно, не локализуется в спрайте круга.
--- после дополнительного изучения ---
Я думаю, что ответ заключается просто в том, что обработка событий на спрайтах еще не реализована, например, в сенсорных диаграммах / src / draw / engine / Canvas.js, которые мы имеем в определении Ext.draw.engine.Canvas,
getSpriteForEvent: function(e) {
return null; //TODO!!!
},
ОК - время изменить вопрос с «как?» На «когда?»:
'Когда Sencha Touch будет поддерживать обработку событий Sprite? "