Canvas clearRect wissen van al mijn lijnen

Ik gebruik clearRect om lijnen op een canvas te wissen en opnieuw te tekenen, maar af en toe blijven er lijnen over. Ik weet niet waar ik fout ga. Ik heb hier een demo geüpload. Dit is een screenshot van het probleem:

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

Ik pas de lijnen aan om te tekenen als een array met meerdere lagen zoals deze

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

waar de "down_right", enz. het curvepad is, en de array van gehele getallen is de x, y, lengte en hoogte van de curven.

dit is de code die de lijnen tekent

    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
Ik heb wat codefragmenten toegevoegd, maar de hele tekening is ingepakt in een tekenobject. het geheel is hier beschikbaar: rumors-studio.com/test/Spheres-of-Influence_Stack_2/js/lijnen en zwnj; JS
toegevoegd de auteur zack, de bron
Wow dank je wel. Ik tekende de grote zwarte rechthoek en gebruikte clearRect in de gedachte dat als de regels werden getrokken, de clearRect ze zou wissen. helaas is dat niet hoe het gebeurde.
toegevoegd de auteur zack, de bron
Geef de broncode op zodat ik weet wat u verkeerd hebt gedaan.
toegevoegd de auteur Aadit M Shah, de bron
Oké, ik heb je broncode gezien en van wat ik begrijp, gebruik je 4 afzonderlijke canvaselementen - een voor mobiele apparaten (roze), een voor interface-apparaten (groen), een voor persoonlijke apparaten (blauw) en een voor de masker wanneer op een bepaald apparaat wordt geklikt en de pop-up verschijnt (grijs). Wanneer u op een apparaat klikt, worden de eerste drie canvaselementen opnieuw getekend als zwart en toont het masker het pad naar het apparaat vanaf de bovenkant. Nu kan ik vanaf je screenshot zien dat er extra maskerpaden worden getekend. Ik denk dat dit komt door het gebruik van jQuery-gebeurtenissen en meerdere canvas-elementen. Dit in die zin.
toegevoegd de auteur Aadit M Shah, de bron
Ik zal proberen een lokale webpagina te maken, uw problemen op te lossen en de resultaten voor u te uploaden. Het kan echter een tijdje duren, want ik ben een beetje druk vandaag.
toegevoegd de auteur Aadit M Shah, de bron

1 antwoord

Ik heb je code herschreven en ik denk dat hij goed werkt. Het probleem was naar mijn mening het gebruik van meerdere canvaselementen en deze te overlappen met behulp van CSS. Ik heb het zip -archief op MediaFire , dus u kunt het vanaf daar downloaden. Ik heb alleen wijzigingen aangebracht in het bestand index.html en ik heb een nieuw stack.js -bestand gemaakt in de map JS . Als je vragen hebt, vraag het me dan gerust. Ik hoop dat dit helpt.

0
toegevoegd