我正在创建一个圆圈作为一组动能弧。当我缓存组并随后在图层上调用绘图功能时,隐藏了四分之三的圆。我认为layer.draw可能需要一个偏移,但实际上我只是在猜测。当我从弧中删除填充,描边或不透明度或从缓存调用中删除对象文字时,将显示整圆。 http://jsfiddle.net/leydar/gm2FT/5/感激地收到了任何见解。
function createArc(n){
var arc = new Kinetic.Arc({
innerRadius: 30,
outerRadius: 50,
/* if I remove the fill, stroke or opacity
the full wheel is correctly displayed */
fill: 'blue',
stroke: 'black',
opacity: 0.3,
strokeWidth: 1,
angle: 36,
rotation: 36*n
});
return arc;
}
function init() {
var arc;
var stage = new Kinetic.Stage({
container: 'container',
width: 104,
height: 104
});
var layer = new Kinetic.Layer();
var circle = new Kinetic.Group();
for(var i=0;i<10;i++) {
arc = createArc(i);
circle.add(arc);
};
layer.add(circle);
stage.add(layer);
/* if I do not cache or do not call layer.draw()
then again the wheel is correctly displayed */
circle.cache({
x: -52,
y: -52,
width: 104,
height: 104,
drawBorder: true
});
layer.draw();
}
init();
斯蒂芬
答案 0 :(得分:0)
这是KineticJS的错误。 您可以使用此解决方法:
Kinetic.Arc.prototype._useBufferCanvas = function() {
return false;
};