画布动画套件实验...如何清除画布?

4
我可以使用Canvas来绘制一个对象,方法如下:
MyObj.myDiv = new Canvas($("effectDiv"), Setting.width,  Setting.height);

然后,我使用这个来在画布上绘制一个矩形:
    var c =  new Rectangle(80, 80,
        {
            fill: [220, 40, 90]
        }
    );
    var move = new Timeline;
    move.addKeyframe(0,
        {
            x: 0,
            y: 0
        }
    );
    c.addTimeline(move);
    MyObj.myDiv.append(c);

但是在我画完矩形后,我想要清除画布,但我不知道该使用哪种方法以及如何操作...
还有一件事: 这是CAKE网站的链接: Link
4个回答

6
清空画布:
canvas.clear = true; // makes the canvas clear itself on every frame
canvas.fill = somecolor; // fills the canvas with some color on every frame
// with canvas.clear = false and low-opacity fill, fancy motion blur effect

Removing the rectangle from the canvas:
rectangle.removeSelf();
or
canvas.removeChild(rectangle);

3
你可以尝试这种方法:
MyObj.myDiv.clearRect(0, 0, canvas.width, canvas.height);

这将有效地将整个画布涂上背景颜色。


2
最简单的方法是:
MyObj.myDiv.width = MyObj.myDiv.width;

2
请注意,尽管Dive Into HTML5声称可以完美地在Safari上运行,但实际效果并非如此。 - Phrogz

0

我发现调整画布的大小就像魔法一样,即使你实际上并没有改变尺寸:

canvas.width = canvas.width

2
请注意,尽管Dive Into HTML5声称这可以完美地在Safari上运行,但实际上并非如此。 - Phrogz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接