キャンバスclearRectは私のすべての行を消去しません

私はclearRectを使ってキャンバス上の線を消して再描画しますが、時には線が残ることがあります。私はどこが間違っているのか分かりません。私はここにデモをアップロードしました。これは問題のスクリーンショットです:

http://zackseuberling.com/screenshots/screen_shot_2011-10-27_at_11.19.29 _am_bd26.png

私はこのような複数の層の配列として描画するために線を渡しています

    all_curves = [
            ['down_right',
                    [255, 250, 100, 40]
            ],
            ['right_down',
                    [355, 290, 330, 245]
            ]
    ]

"down_right"などはカーブのパス、整数の配列はカーブのx、y、長さ、高さです。

これは、線を描くコードです

    for(each_line in all_curves){
            mask_draw(this, all_curves[each_line][0], all_curves[each_line][1][0], all_curves[each_line][1][1], all_curves[each_line][1][2], all_curves[each_line][1][3]);
    }
0
コードスニペットをいくつか追加しましたが、すべての図面が描画オブジェクトにラップされています。すべてがここにあります: rumors-studio.com/test/Spheres-of-Influence_Stack_2/js/lines‌ .js
追加された 著者 zack,
うわー、どうもありがとう。私は大きな黒い四角形を描いていて、その上に線が引かれると、clearRectがそれらを消去するという考えでclearRectを使用していました。残念ながら、それはそれが起こった方法ではありません。
追加された 著者 zack,
私があなたが間違っていることを知るためにソースコードを提供してください。
追加された 著者 Aadit M Shah,
さて、私はあなたのソースコードを見てきました。私は、モバイルデバイス用(ピンク色)、インターフェースデバイス用(緑色)、パーソナルデバイス用(青色)、特定のデバイスをクリックしてポップアップが表示されたときにマスク(灰色)します。デバイスをクリックすると、最初の3つのキャンバス要素が黒色で再描画され、マスクはデバイスから上へのパスを示します。スクリーンショットから、余分なマスクパスが描画されていることがわかります。これは、jQueryイベントと複数のキャンバス要素を使用しているためです。これらの行に沿って。
追加された 著者 Aadit M Shah,
ローカルWebページの作成、問題の解決、結果のアップロードを試みます。しかし、今日はちょっと忙しいので、時間がかかるかもしれません。
追加された 著者 Aadit M Shah,

1 答え

私はあなたのコードを書き直しました、そして、私はそれが適切に動作すると信じています。私の意見では、複数のキャンバス要素を使用し、CSSを使用してそれらをオーバーレイすることでした。 zip アーカイブを MediaFire ので、そこからダウンロードすることができます。私は index.html ファイルを変更しただけで、新しい stack.js ファイルを JS フォルダに作成しました。あなたは何か質問があるなら、私に尋ねてください。お役に立てれば。

0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript