-2

HTML5 Canvas で関数のバインドを解除したい...

例: オプションの四角形を選択した後にブラシを選択すると、ブラシを使用しているときにも Rectangle が作成されます。同じことについて私を助けてください。

ありがとう

デベシュ

4

1 に答える 1

0

長方形を選択してから消しゴムを選択した後に別の長方形が表示されるのは、次の理由によるものです。

    function addClick(x, y, dragging) {
        clickX.push(x);
        clickY.push(y);
        clickDrag.push(dragging);
        hitColors.push(bgColor);
        clickTool.push(tool);
        toolSize.push(radius);
    }

クリックされたすべてのツールを clickTool 配列に追加しています。したがって、rect を追加してから消しゴムを追加すると、rect はそのまま残ります。

次に、ループすると:

    function redraw() {
        context.width = canvas.width; // Clears the canvas
        context.lineJoin = "round";        

        for (var i = 0; i < clickX.length; i++) {
           // this will log rect then eraser over and over
           console.log(clickTool[i]);
        // ......
        }
    }

したがって、選択された一連のツールが必要な理由を理解する必要があります。おそらく、それらすべてを保持するのではなく、一度に 1 つだけ持つ必要があります。

于 2012-09-24T18:09:00.920 に答える