Javascript KinetcJS:使用精灵时,拖动性能非常差
我用这样的动态精灵Javascript KinetcJS:使用精灵时,拖动性能非常差,javascript,html,kineticjs,Javascript,Html,Kineticjs,我用这样的动态精灵 var stage = new Kinetic.Stage({ container: 'container', width: 578, height: 200 }); var layer = new Kinetic.Layer(); var imageObj = new Image(); imageObj.onload = function() { var blo
var stage = new Kinetic.Stage({
container: 'container',
width: 578,
height: 200
});
var layer = new Kinetic.Layer();
var imageObj = new Image();
imageObj.onload = function() {
var blob = new Kinetic.Sprite({
x: 250,
y: 40,
image: imageObj,
animation: 'idle',
animations: {
idle: [
// x, y, width, height (4 frames)
2,2,70,119,
71,2,74,119,
146,2,81,119,
226,2,76,119
],
punch: [
// x, y, width, height (3 frames)
2,138,74,122,
76,138,84,122,
346,138,120,122
]
},
frameRate: 7,
frameIndex: 0
});
// add the shape to the layer
layer.add(blob);
// add the layer to the stage
stage.add(layer);
// start sprite animation
blob.start();
var frameCount = 0;
blob.on('frameIndexChange', function(evt) {
if (blob.animation() === 'punch' && ++frameCount > 3) {
blob.animation('idle');
frameCount = 0;
}
});
document.getElementById('punch').addEventListener('click', function() {
alert("blob.width: "+blob.width());
}, false);
};
imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/blob-sprite.png';
问题是在手机上使用精灵时,我的拖拽性能非常差。移动或调整精灵的大小非常缓慢
有没有办法提高阻力性能
编辑:下面是一个动态图像的例子,在Chrome for Android中拖动速度非常慢:您的性能问题不是拖动操作
重构代码,使其不使用frameIndexChange,因为对每个sprite动画循环执行回调非常昂贵。能否与大家分享一个示例,说明如何执行收缩缩放和双手指旋转?缩放和旋转与此问题无关。有很多关于这个主题的教程。例如:这里有一个例子:在Android的Chrome上拖动速度非常慢。