Miért csinálja ezt? (HTML5 canvas)
Erről a kódról lenne szó:
var c = document.getElementById('c'), ctx = c.getContext('2d');
var width = 400, height = 600;
c.width = width;
c.height = height;
var x = 1;
var rajzol = function () {
ctx.fillRect(x++, 10, 10, 10);
}
var ism = function () {
rajzol();
var ismét = setInterval(ism, 100);
}
ism();
A célom az, hogy egy egyszerű, egyenletesen mozgó négyzettel húzzak egy vonalat, de nálam folyamatosan gyorsul... Mit írtam el?
A setInterval-lal tizedmásodpercenként meghívsz egy függvényt, ami rajzol és definiál még egy tizedmásodperces ismétlődést, így 2, majd 4, 8, 16, stb szál lesz és pár mp. alatt kifagyott a böngészőm :D
Helyesen:
var c = document.getElementById('c'), ctx = c.getContext('2d');
var width = 400, height = 600;
c.width = width;
c.height = height;
var x = 1;
var rajzol = function () {
ctx.fillRect(x++, 10, 1, 10);
if (x >= width) clearInterval(ism);
}
var ism = setInterval(rajzol, 100);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!