2017-11-03 11 views
1

キャンバスを使って(円、四角など)キャンバスをクリアしてキャンバスをクリアする必要があります。で試してみましたが、canvas.getObjects()それでもまだ形が見え、時には余分な形もあります。canvas.clear()でキャンバスが完全に透明にならない

shape still visible任意の参照に問題があれば私もチェックして

extra boundary as well

clear canvas

canvas objects

circle

、ない唯一のキャンバスオブジェクト。

誰かが原因を説明することができますか、私は何かを逃してしまったことがあります。

おかげ

+0

オブジェクトがない場合は何も描画しません。ここでデモ[フィドル](http://jsfiddle.net/durga598/t1pryuua/1/)が1000粒子をクリアしています。あなたの問題を述べているスニペットを最小限にすることはできますか? – Durga

+0

助けてくれてありがとう。実際には何らかの元に戻すやり直しアクティビティです。この余分な図形はオブジェクトがない場合でも '{" objects ":[]、" background ":{}}'が 'canvas.loadFromJSON' –

+0

に渡されたときに来ます。オブジェクトの配列、それから何も描画しません。あなたのコードをもう一度チェックしてください。 – Durga

答えて

0

は、より多くのデバッグの後、それはいくつかのオーバーレイの問題であることを出てきます。形状がキャンバスに追加されたとき は実際には、2つのものをローディングJSONにので何とか領域

クリッピング形状

  • のオーバーレイを設定

    1. が行われ、余分な層が画面に現れました。 JSONが読み込まれたときにSOが形状のオーバーレイを修正して再びクリッピングし、うまくいきました。

      PS:canvas.clear()を入力すると、canvas.getObjects().lengthに0が表示されますが、それでもキャンバスに表示されるシェイプが表示されるため、参考になる可能性があります。

      ありがとう

  • 関連する問題