• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Canvas, jak zresetować

0 głosów
477 wizyt
pytanie zadane 18 października 2017 w JavaScript przez shy_fox Gaduła (4,320 p.)

Jak zresetować canvas, który ma w sobie wiele funkcji, narysowanych obiektów i mechanizmów, w tym takie jak np.

setInterval(fun, 10);

Jak to wszystko przerwać/ zatrzymać aby zresetować? domyślnie można odświeżyć stronę, ale zależy mi na zrobieniu tego w przycisku.

 

Dziękuje za odpowiedzi!

4 odpowiedzi

+1 głos
odpowiedź 18 października 2017 przez Beniamin Spyra Obywatel (1,600 p.)
wybrane 18 października 2017 przez shy_fox
 
Najlepsza

Przerywasz interwał za pomocą:

clearInterval(ref);

Po za tym ustaw z powrotem wszystkie zmienne na wartości początkowe i wyzeruj tablice. Widoczną zawartość canvas czyścisz: 

clearRect(0, 0, canvas.width, canvas.height);

 

+1 głos
odpowiedź 18 października 2017 przez sc4rface Dyskutant (7,710 p.)
https://www.w3schools.com/jsref/met_loc_reload.asp

Jeśli mówisz, że odświeżenie w tym przypadku jest okej - może zainteresuj się tą funkcją wywołaną na onclicku?
+1 głos
odpowiedź 18 października 2017 przez Schizohatter Nałogowiec (39,600 p.)
setInterval działa w kontekście window, a nie canvas. Jeśli masz setInterval to musisz zachować gdzieś do niego handler, żeby móc go przerwać.
–1 głos
odpowiedź 18 października 2017 przez Radekol Bywalec (2,880 p.)
document.location.reload();

Podobne pytania

0 głosów
1 odpowiedź 370 wizyt
0 głosów
2 odpowiedzi 293 wizyt
pytanie zadane 8 kwietnia 2024 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 293 wizyt
pytanie zadane 4 lutego 2023 w JavaScript przez TOWaD Mądrala (6,570 p.)

93,599 zapytań

142,524 odpowiedzi

322,993 komentarzy

63,082 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...