我能够画出盒子,但我无法将其删除! (帆布)

时间:2010-09-20 08:51:11

标签: javascript html5 canvas mootools

之前我已经问过这个问题了,我使用的代码似乎很混乱。所以这是同一代码的虚拟版本。 我使用add函数在画布上绘制一个正方形。同样明智的我应该能够使用remove函数从画布中删除项目!唉,似乎没有发生这种情况。

这是代码

$(window).addEvent('load',function(){


CANVAS.init({ canvasElement : 'canvas' });
CANVAS.layers.add( new Layer({
    id : 'myLayer'
}));

var colors = [
    'rgba(255,0,0,1)',
    ];

var pos = [
    { x: 150, y : 100 },
]

       var foo = new CanvasItem({
        id : 'item',
        x : pos[0].x,
        y : pos[0].y,
        fillStyle : colors[0],
        events : {
            onDraw : function(ctx)
            {
                ctx.fillStyle = this.fillStyle;
                ctx.fillRect(this.x,this.y,200,200);
            }
        }
    });

CANVAS.layers.get('myLayer').add(foo);
CANVAS.draw();
CANVAS.layers.get('myLayer').remove(foo);
CANVAS.draw();
    });

这里也可以看到jsfiddle

我用来实现它的库是通过mootools canvas库。 Here is the link of the functions.

希望这可以帮助人们获取我的查询。如果您仍在思考我的问题究竟是什么,请随时提出问题!感谢

编辑:库中有一个错误。请在答案的评论中找到以下更正代码的链接。感谢。

2 个答案:

答案 0 :(得分:3)

查看remove function的文档时,您应该在调用它时传递itemId而不是实际的项目对象。

答案 1 :(得分:2)

库中的错误在remove函数中。我有以下脚本删除该错误。希望它能帮到人们。 :)

http://gist.github.com/589185