代码之家  ›  专栏  ›  技术社区  ›  Shouvik

我可以画这个盒子,但我不能把它移走!(画布)

  •  1
  • Shouvik  · 技术社区  · 14 年前

    我以前问过这个问题,我使用的代码看起来很混乱。所以这是一个虚拟的相同代码版本。 我使用添加函数在画布上绘制一个正方形。像wise一样,我应该能够使用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画布库实现的。 Here is the link of the functions.

    希望这能帮助人们了解我的问题。如果你还在思考什么是我的问题,请随意提问!谢谢

    编辑:库中有一个bug。请在答案的注释中找到以下更正代码的链接。谢谢。

    2 回复  |  直到 14 年前
        1
  •  3
  •   irishbuzz    14 年前

    查看的文档 remove function 看来你应该通过 itemId 调用时不是实际的项对象。

        2
  •  2
  •   Shouvik    14 年前

    库中的错误在remove函数中。我有下面的脚本来消除这个bug。希望它能帮助人们。:)

    http://gist.github.com/589185