Tweenjs 在容器内模糊
Tweenjs Blurring inside Container
我已经坚持这个问题大约一个星期了,无法弄清楚为什么容器内的形状实例在以 60 fps 的速度设置动画时会变得模糊。我的容器包含一个形状实例。形状实例与一个图形实例相关联。似乎有一个白色的模糊点跟随动画的方向。有没有办法阻止这种模糊或者它是 tweenJS 的限制?这是 jsFiddle。
这里有一些额外的细节,我正在开发一个涉及很多移动圆圈的台球游戏。我为每个台球创建了一个 class,将来会包含更多形状实例。但是,在 60 fps 下,形状实例在动画期间会变得模糊。这是 'poolBall' class。
function poolBall(number, posX, posY) {
this.number = number;
this.shapesArray = [];
this.shapesArray.push(new createjs.Shape());
this.containerInstance = new createjs.Container();
this.containerInstance.addChild(this.shapesArray[0]);
this.containerInstance.x = posX;
this.containerInstance.y = posY;
this.drawGraphic = function(){
this.shapesArray[0].graphics.beginFill('white')
.setStrokeStyle(1)
.beginStroke("#000000")
.drawCircle(14, 14, 14)
.endFill()
.endStroke();
};
};
这只是 canvas 如何在内容更改时显示内容的症状,与 EaselJS 或 TweenJS 无关。这是使用原始 canvas API 的 fiddle。
http://jsfiddle.net/lannymcnie/97vLu9q9/1/
圈码
context.beginPath();
context.arc(0,0,20,0,2* Math.PI,false);
context.fillStyle = "white";
context.fill();
context.lineWidth = 1;
context.strokeStyle = "black";
context.stroke();
请注意,我使用了 RequestAnimationFrame 来更新舞台。我也用 EaselJS 测试了 RAF,它的动画方式没有改变。
除非我在这里遗漏了什么,否则这只是视觉暂留,这正是人类视觉的正常工作方式,尤其是在计算机屏幕上显示高对比度图形时。
尝试在漆黑的夜晚外出,来回挥动强光,你同样会看到它背后有一个微妙的"trail"。
证明这一点的更好方法是在动画发生时捕获屏幕截图。查看静态帧,您会发现它没有模糊。
我已经坚持这个问题大约一个星期了,无法弄清楚为什么容器内的形状实例在以 60 fps 的速度设置动画时会变得模糊。我的容器包含一个形状实例。形状实例与一个图形实例相关联。似乎有一个白色的模糊点跟随动画的方向。有没有办法阻止这种模糊或者它是 tweenJS 的限制?这是 jsFiddle。
这里有一些额外的细节,我正在开发一个涉及很多移动圆圈的台球游戏。我为每个台球创建了一个 class,将来会包含更多形状实例。但是,在 60 fps 下,形状实例在动画期间会变得模糊。这是 'poolBall' class。
function poolBall(number, posX, posY) {
this.number = number;
this.shapesArray = [];
this.shapesArray.push(new createjs.Shape());
this.containerInstance = new createjs.Container();
this.containerInstance.addChild(this.shapesArray[0]);
this.containerInstance.x = posX;
this.containerInstance.y = posY;
this.drawGraphic = function(){
this.shapesArray[0].graphics.beginFill('white')
.setStrokeStyle(1)
.beginStroke("#000000")
.drawCircle(14, 14, 14)
.endFill()
.endStroke();
};
};
这只是 canvas 如何在内容更改时显示内容的症状,与 EaselJS 或 TweenJS 无关。这是使用原始 canvas API 的 fiddle。
http://jsfiddle.net/lannymcnie/97vLu9q9/1/
圈码
context.beginPath();
context.arc(0,0,20,0,2* Math.PI,false);
context.fillStyle = "white";
context.fill();
context.lineWidth = 1;
context.strokeStyle = "black";
context.stroke();
请注意,我使用了 RequestAnimationFrame 来更新舞台。我也用 EaselJS 测试了 RAF,它的动画方式没有改变。
除非我在这里遗漏了什么,否则这只是视觉暂留,这正是人类视觉的正常工作方式,尤其是在计算机屏幕上显示高对比度图形时。
尝试在漆黑的夜晚外出,来回挥动强光,你同样会看到它背后有一个微妙的"trail"。
证明这一点的更好方法是在动画发生时捕获屏幕截图。查看静态帧,您会发现它没有模糊。