Javascript 在fabricjs上下文中更改文本无效

Javascript 在fabricjs上下文中更改文本无效,javascript,fabricjs,Javascript,Fabricjs,我试图在动画期间更改组内的文本。您可以在下面代码段的控制台中看到这一点 group.item(2).setText(Math.floor(count * 10) % 2 === 0 ? "O" : "X"); parseInt(count+)%2===0可能是管理硬币文本翻转的正确方式,但不幸的是,它不起作用。有人能帮我理解为什么硬币的一面不翻转吗 var织物; (函数(fabric){}(fabric}(fabric={})); fabric.Background=fabric.util.

我试图在动画期间更改组内的文本。您可以在下面代码段的控制台中看到这一点

group.item(2).setText(Math.floor(count * 10) % 2 === 0 ? "O" : "X");
parseInt(count+)%2===0
可能是管理硬币文本翻转的正确方式,但不幸的是,它不起作用。有人能帮我理解为什么硬币的一面不翻转吗

var织物;
(函数(fabric){}(fabric}(fabric={}));
fabric.Background=fabric.util.createClass(fabric.Rect{
键入:“背景”,
初始化:函数(选项){
选项=选项| |{};
this.callSuper(“初始化”,选项);
},
_渲染:函数(ctx){
这个.callSuper(“_render”,ctx);
}
});
var Ys=(函数(){
函数Ys(){
var_this=这个;
this.app=newfabric.Canvas(document.getElementById(“c”);
this.renderHexagram=函数(){};
this.resize=函数(){
var w=(window.innerWidth>0)?window.innerWidth:screen.width;
var h=(window.innerHeight>0)?window.innerHeight:screen.height;
var宽度=w;
var高度=h;
_this.app.setDimensions({
宽度:宽度,
高度:高度
});
};
this.drauckground=函数(){
var backgroundOptions={};
backgroundOptions.width=_this.app.getWidth();
backgroundOptions.height=_this.app.getHeight();
backgroundOptions.selective=false;
var background=新结构背景(backgroundOptions);
var gradientOptions=_this.createVerticalGradientOptions(“线性”),_this.app.getHeight(){
0: "#333333",
1: "#222222"
});
背景。设置渐变(“填充”,渐变选项);
_this.background=背景;
_此.app.add(后台);
};
this.drawtost=函数(){
[1,1,1].forEach(函数(项,idx){
setTimeout(函数(){
_这个。投掷(idx);
},_this.getRandom(1,10)*100);
});
};
this.toss=函数(idx){
var canvas=_this.app;
var circle=新结构。circle({
左:0,,
排名:0,
半径:(_this.app.getWidth()/5)/2,
填写:“FFE600”,
笔划:“CACA3B”,
冲程宽度:1,
角度:0,
填充:0,
原文:“中心”,
原创:“中心”
});
var innerCircle=新结构。圆({
左:0,,
排名:0,
半径:(_this.app.getWidth()/6)/2,
填写:“FFFF00”,
笔划:“CACA3B”,
冲程宽度:1.5,
角度:0,
填充:0,
原文:“中心”,
原创:“中心”
});
var text=new fabric.text(“”{
左:0,,
排名:0,
角度:90,
原文:“中心”,
原创:“中心”,
填写:“fffdb5”,
笔划:“CACA3B”,
fontSize:(_this.app.getWidth()/5)),
重量:700,
冲程宽度:1
});
var group=new fabric.group([circle,innerCircle,text]({
左:(_this.app.getWidth()/6)+(_this.app.getWidth()/3)*idx),
顶部:-(_this.app.getWidth()/5)/2),
原文:“中心”,
原创:“中心”,
是的,
hasControl:对
}));
var rotateInterval=setInterval((函数(){
var f=0;
返回函数(){
组角度=f;
如果(f>180){
f=0;
}否则{
f+=1;
}
canvas.renderAll();
};
})(), 0);
组.动画(“top”、_this.app.getHeight()-(_this.app.getWidth()/5)/2){
持续时间:600,
onChange:canvas.renderAll.bind(canvas),
easing:fabric.util.ease[“easeOutBounce”]
});
(函数旋转(f,计数){
计数+=.01;
控制台日志(数学层(计数*10));
组项目(2).setText(数学地板(计数*10)%2==0?“O”:“X”);
var skewInterval=setInterval((函数(){
返回函数(){
group.transformMatrix=[0,1,f,0,0,0];
如果(f>1&&count>=10){
净间隔(斜间隔);
净间隔(旋转间隔);
返回0;
}否则,如果(f>1){
f=0;
}否则,如果(f>0.8){
f+=0.03;
}否则,如果(f>0.9){
如果(f>0.93){
f+=0.04;
}否则,如果(f>0.96){
f+=0.05;
}否则{
f+=0.06;
}
}否则{
f+=0.09;
}
canvas.renderAll();
净间隔(斜间隔);
旋转(f,计数);
返回0;
};
})(),计数);
})(0, 0);
canvas.add(组);
};
这是resize();
this.app.renderOnAddRemove=true;
this.headerHeight=this.app.getHeight()/12;
这个。牵引地面();
这个。drawToss();
}
Ys.prototype.createVerticalGradientOptions=函数(类型、高度、色块){
返回{
类型:类型,
x1:0,
y1:0,
x2:0,
y2:高度,
彩色停止:彩色停止
};
};
Ys.prototype.getRandom=函数(最小值、最大值){
返回Math.random()*(max-min)+min;
};
返回y;
}());
var ys=新的ys();
//#sourceMappingURL=application.js.map
*{
填充:0;
保证金:0;
}


缓存肯定有问题,请尝试:

fabric.Object.prototype.objectCaching = false;
var织物;
(函数(fabric){}(fabric}(fabric={}));
fabric.Background=fabric.util.createClass(fabric.Rect{
键入:“背景”,
初始化:函数(选项){
选项=选项| |{};
this.callSuper(“初始化”,选项);
},
_渲染:函数(ctx){
这个.callSuper(“_render”,ctx);
}
});
var Ys=(函数(){
函数Ys(){
var_this=这个;
this.app=newfabric.Canvas(document.getElementById(“c”);
这是一张透视图